From: Eric Blake Date: Fri, 24 Dec 2010 20:39:50 +0000 (-0700) Subject: stdint: avoid HP-UX 10.20 preprocessor bug X-Git-Tag: v0.1~3472 X-Git-Url: http://erislabs.org.uk/gitweb/?a=commitdiff_plain;h=7c98a69028588fa133a9ea1b1fdae8e121b06f9d;p=gnulib.git stdint: avoid HP-UX 10.20 preprocessor bug * lib/stdint.in.h (INT64_MAX, UINT64_MAX): Check via #ifdef rather than #if. * tests/test-floor2.c (main): Likewise. Reported by Peter O'Gorman. Signed-off-by: Eric Blake --- diff --git a/ChangeLog b/ChangeLog index 28d6819e9..b0ddadecc 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,11 @@ 2010-12-24 Eric Blake + stdint: avoid HP-UX 10.20 preprocessor bug + * lib/stdint.in.h (INT64_MAX, UINT64_MAX): Check via #ifdef rather + than #if. + * tests/test-floor2.c (main): Likewise. + Reported by Peter O'Gorman. + pipe: make obsoletion transition easier * lib/pipe.h: Restore file as thin shim around "spawn-pipe.h". * modules/pipe (Files): Include revived file. diff --git a/lib/stdint.in.h b/lib/stdint.in.h index 70822b82d..7270ad0b8 100644 --- a/lib/stdint.in.h +++ b/lib/stdint.in.h @@ -137,9 +137,10 @@ typedef unsigned int gl_uint32_t; /* If the system defines INT64_MAX, assume int64_t works. That way, if the underlying platform defines int64_t to be a 64-bit long long int, the code below won't mistakenly define it to be a 64-bit long - int, which would mess up C++ name mangling. */ + int, which would mess up C++ name mangling. We must use #ifdef + rather than #if, to avoid an error with HP-UX 10.20 cc. */ -#if INT64_MAX +#ifdef INT64_MAX # define GL_INT64_T #else /* Do not undefine int64_t if gnulib is not being used with 64-bit @@ -162,7 +163,7 @@ typedef long long int gl_int64_t; # endif #endif -#if UINT64_MAX +#ifdef UINT64_MAX # define GL_UINT64_T #else # if ULONG_MAX >> 31 >> 31 >> 1 == 1 diff --git a/tests/test-floor2.c b/tests/test-floor2.c index e2391993b..971f24a3e 100644 --- a/tests/test-floor2.c +++ b/tests/test-floor2.c @@ -144,7 +144,7 @@ check (double x) int main () { -#if UINT64_MAX +#ifdef UINT64_MAX unsigned int highbits; unsigned int lowbits; int error = 0;