1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
/* PR middle-end/38422 */ extern void abort (void); struct S { int s : (sizeof (int) * __CHAR_BIT__ - 2); } s; void foo (void) { s.s *= 2; } int main () { s.s = 24; foo (); if (s.s != 48) abort (); return 0; }