“Whether a “plain” int bit-field
is treated as a signed int bit-field or as an unsigned
int bit-field (C90 6.5.2, C90 6.5.2.1, C99 6.7.2, C99
6.7.2.1).” |
|
A plain int bit-field is treated as an unsigned integer.
The -fsigned-bitfields option can be used to treat bit-fields
as signed. |
“Allowable bit-field types other than
_Bool , signed int , and unsigned
int (C99 6.7.2.1).” |
|
All integer types are allowed. |
“Whether a bit-field can straddle a storage unit
boundary (C90 6.5.2.1, C99 6.7.2.1).” |
|
A bit-field can straddle a storage unit. |
“The order of allocation of bit-fields within a
unit (C90 6.5.2.1, C99 6.7.2.1).” |
|
The first bit-field defined in a structure is allocated the LSb position in
the storage unit. Subsequent bit-fields are allocated higher-order
bits. |
“The alignment of non-bit-field members of
structures (C90 6.5.2.1, C99 6.7.2.1).” |
|
No alignment is performed. |
“The integer type compatible with each enumerated
type (C90 6.5.2.2, C99 6.7.2.2).” |
|
A signed int or unsigned int can be
chosen to represent an enumerated type. |