¿Cómo aplicar el orden de bits de estructura con el compilador GCC?

Me preguntaba si hay una directiva del compilador C de GCC que me permita determinar el orden de bits para el empaque de una estructura. Algo para los gustos de:

#pragma bit_order left

La razón de tal necesidad es que tengo la siguiente estructura:

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;

Con esta estructura, me gustaría que el compilador lo empaquete de esta manera:

Bit order: | 7  6  5  4  3  2  1  0 |
Label:     |B0 B1 B2 B3 B4 B5 B6 B7 |

En lugar de cómo lo hace GCC:

Bit order: | 7  6  5  4  3  2  1  0 |
Label:     |B7 B6 B5 B4 B3 B2 B1 B0 |

Estoy tratando con MCU que tienen enormes archivos de encabezado que tienen estructuras que calculan las compensaciones de bits de acuerdo con las direcciones de hardware estipuladas. Espero que haya una directiva de compilación en GCC C Compiler que haga el cambio de orden de bits por mí antes de intentar voltear todos los campos en el archivo suministrado por el fabricante.

Respuestas a la pregunta(1)

Su respuesta a la pregunta