Albert Chin wrote: > On HP-UX 10.20 with the HP 10.20 C compiler: > $ ./gnulib-tool --test --with-tests stdint > ... > cc -Ae -DHAVE_CONFIG_H -I. -I../../gltests -I. -I../../gltests > -I.. -I../../gltests/.. -I../gllib -I../../gltests/../gllib -g -c > ../../gltests/test-stdint.c > cpp: "test-stdint.c", line 249: warning 2012: Unrepresentable preprocessor > number 1LL. > cpp: "test-stdint.c", line 249: error 4038: Bad syntax for #if condition. > *** Error exit code 1 > > The problem is the following: > #if INTMAX_MIN && INTMAX_MAX && UINTMAX_MAX > /* ok */ > #else > err or; > #endif
Well, it seems this compiler does not grok long long numbers in preprocessor expressions. But this is an ISO C 99 requirement, and test-stdint checks for it. Do you have any suggestion? Writing the constants with a single L will not work, since sizeof (long) < sizeof (long long) on these 32-bit machines. Pretending that the compiler does not support 'long long' in the autoconf tests would make some code (in human.c and others) work worse than it currently does. Bruno