On Thu, 30 Oct 2003, Garrett Wollman wrote: > <<On Thu, 30 Oct 2003 12:32:46 +0100 (CET), Harti Brandt <brandt_at_fokus.fraunhofer.de> said: > > > "The c89 utility (which specified a compiler for the C Language specified > > by the 108 ISO/IEC 9899: 1990 standard) has been replaced by a c99 utility > > (which specifies a compiler for 109 the C Language specified by the > > ISO/IEC 9899: 1999 standard)." > > More specifically: IEEE Std. 1003.1-2001 is aligned to ISO/IEC > 9899:1999 in all respects. C99 alignment was one of the principal > reasons for bringing out a whole new standard in the first place, > rather than continuing the amendment process. (This is also why POSIX > now requires eight-bit bytes.) This doesn't follow, since C99 doesn't require 8-bit bits. int8_t is optional in C99 and all code that uses it unconditionally is unportable. Similarly for most other types in <stdint.h>. The required ones are [u]int_least{8,16,32,64}_t and [u]int_fast{8,16,32,64}_t and [u]intmax_t, i.e., nothing that can't be declared in C90 except a 64-bit type. POSIX requires in addition [u]int{8,16,32}_t, and [u]int64_t if 64 bit integer types exist. It says that the existence of int8_t implies that a byte is 8 bits and CHAR_BIT is 8. I'm not sure what prevents int8_t being smaller than char. BruceReceived on Thu Oct 30 2003 - 22:01:53 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:37:27 UTC