#include <stdio.h>
struct __attribute__ ((__packed__)) A {
unsigned flag0 : 1;
unsigned flag1 : 2;
unsigned flag2 : 2;
unsigned flag3 : 3;
};
int main() {
A a = {1, 0, 2, 7};
printf("%d\n", sizeof(bool)); // 1
printf("%d\n", sizeof(A)); // 1
printf("%u %u %u %u\n", a.flag0, a.flag1, a.flag2, a.flag3); // 1 0 2 7
return 0;
}