| ISO Standard: | “A member of a union object is accessed using a member of a different type (C90 6.3.2.3).” | 
| Implementation: | The corresponding bytes of the union object are interpreted as an object of the type of the member being accessed without regard for alignment or other possible invalid conditions. | 
| ISO Standard: | “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).” | 
| Implementation: | By default on PIC32C, a plain
                        int bit field is treated as an unsigned integer. Note that
                     this is different from the PIC32M. The default behavior can be set explicitly
                     by the compiler flags -funsigned-bitfields and
                        -fsigned-bitfields. | 
| ISO Standard: | “Allowable bit field types other than
                        _Bool, signed int, and unsigned
                        int (C99 6.7.2.1).” | 
| Implementation: | No other types are supported. | 
| ISO Standard: | “Whether a bit field can straddle a storage unit boundary (C90 6.5.2.1, C99 6.7.2.1).” | 
| Implementation: | No. | 
| ISO Standard: | “The order of allocation of bit fields within a unit (C90 6.5.2.1, C99 6.7.2.1).” | 
| Implementation: | Bit fields are allocated left to right. | 
| ISO Standard: | “The alignment of non-bit field members of structures (C90 6.5.2.1, C99 6.7.2.1).” | 
| Implementation: | Each member is located to the lowest available offset allowable according to the alignment restrictions of the member type. | 
| ISO Standard: | “The integer type compatible with each enumerated type (C90 6.5.2.2, C99 6.7.2.2).” | 
| Implementation: | If the enumeration values are all
                     non-negative, the type is unsigned int, else it is
                        int. The -fshort-enums command line option
                     can change this. |