On 1/23/24 13:29, Arthur David Olson via tz wrote:
I'm wondering if an implementation is required to support all the features of the hardware it is meant for. (If not, implementations on power-of-2 word-size two's complement machines might not have some of the intN_t types.)
C11 7.18.1.1 says "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." There are similar requirements in later C versions, and in C2x (which requires two's complement) this has been strengthened to "If an implementation provides standard or extended integer types with a particular width and no padding bits, it shall define the corresponding typedef names." So the implementations you're thinking of must support the usual intN_types.