On Tue, 26 Jul 2016, Warren D Smith wrote:

> --mind-boggling.
> So they actually intentionally made the language worse
> in the C11 TC3 revision versus the C99 standard.

There is no such thing as C11 TC3.  All the relevant requirements about 
being integer numbers of bytes are present in the original C99 (which I 
expect is available to purchase from organisations specialising in the 
sale of obsolete standards), as are the relevant requirements on intN_t 
and uintN_t; it's just that referring to the original C99 for <stdint.h> 
requirements is a bad idea because of several other issues raised in 
various C99 DRs and addressed through TC1, TC2 and TC3 (all three of which 
made changes to the <stdint.h> specification).

Furthermore, while the subclause with wording about representations of 
types is new in C99, exactly the same requirement about being integer 
numbers of bytes can be found in C90; see the definition of "object" 
(subclause 3.14 in C90).  No doubt the principle of objects being 
addressable and made up of bytes, except for the special case of 
bit-fields, dates back long before C90.

-- 
Joseph S. Myers
jos...@codesourcery.com

Reply via email to