> Strictly speaking, there might be a DISadvantage - IIRC, there's nothing to
> stop gcc from
> #define uint8_t unsigned long long /* it is at least 8 bits */
> ICBW, but wasn't uint<n>_t only promised to be at least <n> bits?
No. See C99 7.18.1.1:
7.18.1.1 Exact-width integer types
1 The typedef name intN_t designates a signed integer type with
width N, no padding bits, and a two's complement
representation. Thus, int8_t denotes a signed integer type
with a width of exactly 8 bits.
2 The typedef name uintN_t designates an unsigned integer type
with width N. Thus, uint24_t denotes an unsigned integer
type with a width of exactly 24 bits.
3 These types are optional. However, if an implementation
provides integer types with widths of 8, 16, 32, or 64 bits,
it shall define the corresponding typedef names.
-- "To the engineer, the world is a toy box full of sub-optimized and feature-poor toys." --Scott Adams - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/