From: Erik Faye-Lund Date: Thu, 09 Dec 2010 19:19:48 GMT Subject: Re: [PATCH 03/14] msvc: Fix build by adding missing INTMAX_MAX define Message-ID: In-Reply-To: <4CFA8F1A.3040402@ramsay1.demon.co.uk> On Sat, Dec 4, 2010 at 7:57 PM, Ramsay Jones wrote: > > Commit c03c831 (do not depend on signed integer overflow, > 05-10-2010) provokes an msvc build failure. The cause of the > failure is a missing definition of the INTMAX_MAX constant, > used in the new maximum_signed_value_of_type(a) macro, which > would normally be defined in the C99 header file. > > In order the fix the compilation error, we add an appropriate > definition of the INTMAX_MAX constant, along with INTMAX_MIN > and UINTMAX_MAX, to an msvc compat header file. > > Signed-off-by: Ramsay Jones > --- >  compat/vcbuild/include/unistd.h |    4 ++++ >  1 files changed, 4 insertions(+), 0 deletions(-) > > diff --git a/compat/vcbuild/include/unistd.h b/compat/vcbuild/include/unistd.h > index 2a4f276..b14fcf9 100644 > --- a/compat/vcbuild/include/unistd.h > +++ b/compat/vcbuild/include/unistd.h > @@ -45,6 +45,10 @@ typedef unsigned long long uintmax_t; > >  typedef int64_t off64_t; > > +#define INTMAX_MIN  _I64_MIN > +#define INTMAX_MAX  _I64_MAX > +#define UINTMAX_MAX _UI64_MAX > + >  #define STDOUT_FILENO 1 >  #define STDERR_FILENO 2 > Looks good. You only really need to define INTMAX_MAX, but INTMAX_MIN and UINTMAX_MAX are nice additions for future code. I guess you *could* have added UINTMAX_MIN for completeness, but I doubt anyone will ever bother to use it, as it's always 0. So for what it's worth: Acked-by: Erik Faye-Lund In case someone is curious of the definitions; they are documented at http://msdn.microsoft.com/en-us/library/k15zsh48.aspx