[ub] [c++std-ext-14555] Sized integer types and char bits

Stephan T. Lavavej stl at exchange.microsoft.com
Fri Oct 18 21:05:41 CEST 2013


[Gabriel Dos Reis, c++std-ext-14555]
> My understanding of 'optional' is that the types are conditionally
> supported, and a macro in <stdint.h> indicates whether the corresponding
> type is supported.

They are a special form of conditionally supported. C99 7.18.1.1 "Exact-width integer types" /3: "These types are optional. However, if an implementation provides integer types with widths of 8, 16, 32, or 64 bits, no padding bits, and (for the signed types) that have a two's complement representation, it shall define the corresponding typedef names."

I would like to see CHAR_BIT == 8 and two's complement required. I do not want to see specific type requirements for intN_t (in fact, char is impossible because it can be either signedish or unsignedish).

STL


More information about the ub mailing list