bug-gnulib
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Compile problem on HP-UX 10.20 with test-stdint.c


From: Bruno Haible
Subject: Re: Compile problem on HP-UX 10.20 with test-stdint.c
Date: Sat, 21 Jun 2008 01:58:19 +0200
User-agent: KMail/1.5.4

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





reply via email to

[Prev in Thread] Current Thread [Next in Thread]