Sign of Plain Bitfields

For some architectures, the sign of a plain bitfield does not follow standard rules. Normally in the following (refer to the following listing):

Listing: Plain bitfield
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):

Listing: Unsigned bitfield
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:

Listing: Affected Define Groups
define group__PLAIN_BITFIELD_IS_SIGNED__  /* defined if plain bitfield  is signed*/
__PLAIN_BITFIELD_IS_UNSIGNED__            /* defined if plain bitfield is unsigned */