Re: [patch] Input cleanups for 2.5.29 [2/2]

Ben Pfaff (blp@cs.stanford.edu)
30 Jul 2002 14:55:33 -0700


Alexander Viro <viro@math.psu.edu> writes:

> 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/