How to enforce the struct bit order with the GCC compiler?
I was wondering if there is a GCC C Compiler directive that allows me to determine the bit order for packing of a structure? Something to the likes of: #pragma bit_order left The rationale for such a need is that I have the following structure: struct { union { unsigned char BYTE; struct { unsigned char B0: 1; unsigned char B1: 1; unsigned char B2: 1; unsigned char B3: 1; unsigned char B4: 4; }BIT; }ITEM; } myStruct; With this structure, I would like the compiler to pack it this way: Bit order: | 7 6 5 4 3 2 1 0 | Label: |B0 B1 B2 B3 B4 B5 B6 B7 | Rather than how GCC does it: Bit order: | 7 6