1 /* { dg-do run } */ 2 /* { dg-options "-fno-toplevel-reorder" } */ 3 /* { dg-require-effective-target int32plus } */ 4 5 extern void abort (void); 6 7 struct S 8 { 9 signed a : 26; 10 signed b : 16; 11 signed c : 10; 12 volatile signed d : 14; 13 }; 14 15 static struct S e = { 0, 0, 0, 1 }; 16 static int f = 1; 17 18 void __attribute__((noinline)) foo(void)19foo (void) 20 { 21 e.d = 0; 22 f = 2; 23 } 24 25 int main()26main () 27 { 28 if (e.a || e.b || e.c || e.d != 1 || f != 1) 29 abort (); 30 foo (); 31 if (e.a || e.b || e.c || e.d || f != 2) 32 abort (); 33 return 0; 34 } 35