For some architectures, the sign of a plain bitfield does not follow standard rules. Normally in the following (refer to the following listing):
struct _bits { int myBits:3; } bits;
myBits is signed, because plain int is also signed. To implement it as an unsigned bitfield, use the following code (refer to the following listing):
struct _bits { unsigned int myBits:3; } bits;
However, some architectures need to overwrite this behavior to be compliant to their EABI (Embedded Application Binary Interface). Under those circumstances, the -T: Flexible Type Management (if supported) is used. The option affects the following defines:
define group__PLAIN_BITFIELD_IS_SIGNED__ /* defined if plain bitfield is signed*/ __PLAIN_BITFIELD_IS_UNSIGNED__ /* defined if plain bitfield is unsigned */