[Top][All Lists]
[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