[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: coreutils 6.6 HP-UX build error
From: |
Paul Eggert |
Subject: |
Re: coreutils 6.6 HP-UX build error |
Date: |
Wed, 22 Nov 2006 17:20:30 -0800 |
User-agent: |
Gnus/5.1008 (Gnus v5.10.8) Emacs/21.4 (gnu/linux) |
Ben Pfaff <address@hidden> writes:
> I don't understand this rationale. C89 requires that the switch
> expression be of integral type. For C89 compilers with the long
> long int extension, a long long int is an integral type
No, because there's no standard for the "long long int" extension in
C89. A conforming C89 compiler can support every feature of C99 long
long int except for switch(). Such a compiler will still execute
every C89 program correctly, so the implementation conforms to C89.
For example, some conforming C89 systems have long long but use %Ld
rather than %lld for printf formats; that also conforms to C89 (but
not C99, obviously).
> Are there actual implementations that support long long int but
> not its use as a switch expression?
Yes, apparently the HP-UX compiler in question is like this.
Re: coreutils 6.6 HP-UX build error, Paul Eggert, 2006/11/22