Como impor a ordem de bits struct com o compilador GC

Eu queria saber se existe uma diretiva do GCC C Compiler que permita determinar a ordem de bits para o empacotamento de uma estrutura? Algo para pessoas como:

#pragma bit_order left

A justificativa para essa necessidade é que eu tenho a seguinte estrutura:

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;

Com essa estrutura, eu gostaria que o compilador o empacotasse desta maneira:

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

Em vez de como o GCC faz:

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

Estou lidando com MCUs que possuem enormes arquivos de cabeçalho e estruturas que calculam compensações de bits de acordo com os endereços de hardware estipulados. Espero que exista uma diretiva de compilador no GCC C Compiler que faça a troca de ordem de bits para mim antes de tentar inverter todos os campos no arquivo fornecido pelo fabricant

questionAnswers(1)

yourAnswerToTheQuestion