Re: [PATCH 2/2] MSVC: VS2013 comes with inttypes.h
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Mar 29, 2016, 16:47 UTC
- Message-ID
- <xmqqegatz0xi.fsf@gitster.mtv.corp.google.com>
- In-Reply-To
- <56FAACD4.9080504@cs-ware.de>
Sven Strickroth <sven@cs-ware.de> writes:
> Reduce the number of defines which need to be managed within vanilal git.
Hmph.
> > Signed-off-by: Sven Strickroth <sven@cs-ware.de> > ---
I am not qualified to judge the correctness of the assertions this change makes:
* MSVC at or newer than version 1800 have PRIuMAX and PRId64
* MSVC at or newer than version 1800 have {UINT,INT}MAX_{MIN,MAX}and will wait for Windows folks to Ack.
Thanks.
Show 35 quoted lines
> compat/mingw.h | 2 +- > compat/vcbuild/include/unistd.h | 2 ++ > 2 files changed, 3 insertions(+), 1 deletion(-) > > diff --git a/compat/mingw.h b/compat/mingw.h > index 6b6d695..5d7f0dd 100644 > --- a/compat/mingw.h > +++ b/compat/mingw.h > @@ -415,7 +415,7 @@ int mingw_offset_1st_component(const char *path); > extern void build_libgit_environment(void); > extern const char *program_data_config(void); > #define git_program_data_config program_data_config > -#ifndef __MINGW64_VERSION_MAJOR > +#if !defined(__MINGW64_VERSION_MAJOR) || !defined(_MSC_VER) || _MSC_VER < 1800 > #define PRIuMAX "I64u" > #define PRId64 "I64d" > #else > diff --git a/compat/vcbuild/include/unistd.h b/compat/vcbuild/include/unistd.h > index c65c2cd..b4b7b7c 100644 > --- a/compat/vcbuild/include/unistd.h > +++ b/compat/vcbuild/include/unistd.h > @@ -45,11 +45,13 @@ typedef unsigned long long uintmax_t; > > typedef int64_t off64_t; > > +#if !defined(_MSC_VER) || _MSC_VER < 1800 > #define INTMAX_MIN _I64_MIN > #define INTMAX_MAX _I64_MAX > #define UINTMAX_MAX _UI64_MAX > > #define UINT32_MAX 0xffffffff /* 4294967295U */ > +#endif > > #define STDIN_FILENO 0 > #define STDOUT_FILENO 1