/* { dg-do compile } */ /* { dg-options "-O2 -fcompare-debug -fmodulo-sched" } */ struct S { int f; signed int g : 2; } a[1], c = {5, 1}, d; short b; __attribute__((noinline, noclone)) void foo (int x) { if (x != 1) __builtin_abort (); } int main () { while (b++ <= 0) { struct S e = {1, 1}; d = e = a[0] = c; } foo (a[0].g); return 0; }