/* PR tree-optimization/79737 */ #if __SIZEOF_INT__ < 4 __extension__ typedef __INT32_TYPE__ int32_t; #else typedef int int32_t; #endif #pragma pack(1) struct S { int32_t b:18; int32_t c:1; int32_t d:24; int32_t e:15; int32_t f:14; } i, j; void foo () { i.e = 0; i.b = 5; i.c = 0; i.d = -5; i.f = 5; } void bar () { j.b = 5; j.c = 0; j.d = -5; j.e = 0; j.f = 5; } int main () { foo (); bar (); asm volatile ("" : : : "memory"); if (i.b != j.b || i.c != j.c || i.d != j.d || i.e != j.e || i.f != j.f) __builtin_abort (); }