/* B:e4108: signed int 型のビットフィールド幅は 2 ビット以上としてください */ struct X { int a: 1; /* NG */ } ; void a() { struct X x; x.a = 1; if(x.a == 1) { puts("OK"); /* ←来ない */ } } 解説 1bit幅のsignedのビットフィールドには1は入りません。 unsigned型にするか、2bit以上の幅にして下さい。