| |
|
Index
|
4.9 Structures, unions, enumerations, and bit-fields
- A member of a union object is accessed using a member of a
different type (C90 6.3.2.3).
The relevant bytes of the representation of the object are treated as
an object of the type used for the access. This may be a trap
representation.
- 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).
By default it is treated as signed int but this may be changed
by the -funsigned-bitfields option.
- Allowable bit-field types other than
_Bool, signed int,
and unsigned int (C99 6.7.2.1).
No other types are permitted in strictly conforming mode.
- Whether a bit-field can straddle a storage-unit boundary (C90
6.5.2.1, C99 6.7.2.1).
Determined by ABI.
- The order of allocation of bit-fields within a unit (C90
6.5.2.1, C99 6.7.2.1).
Determined by ABI.
- The alignment of non-bit-field members of structures (C90
6.5.2.1, C99 6.7.2.1).
Determined by ABI.
- The integer type compatible with each enumerated type (C90
6.5.2.2, C99 6.7.2.2).
Normally, the type is unsigned int if there are no negative
values in the enumeration, otherwise int. If
-fshort-enums is specified, then if there are negative values
it is the first of signed char, short and int
that can represent all the values, otherwise it is the first of
unsigned char, unsigned short and unsigned int
that can represent all the values.
On some targets, -fshort-enums is the default; this is
determined by the ABI.
|
|
|
|
|
|
|
|
Disclaimers: This
document is provided as free service for the benefits of Active-Venture.com's virtual hosting customers only. |
|

|
|
|
|
" Computers make it easier to do a lot of things, but most of the things they make it easier to do don't need to be done.
" |
|
|
|
|
|
|