PR testsuite/52641
[official-gcc.git] / gcc / testsuite / gcc.dg / torture / pr48124-1.c
bloba0c73bf59ed79dbc5dcf2ebe952593785bec8117
1 /* { dg-do run } */
2 /* { dg-options "-fno-toplevel-reorder" } */
3 /* { dg-require-effective-target int32plus } */
5 extern void abort (void);
7 struct S
9 signed a : 26;
10 signed b : 16;
11 signed c : 10;
12 volatile signed d : 14;
15 static struct S e = { 0, 0, 0, 1 };
16 static int f = 1;
18 void __attribute__((noinline))
19 foo (void)
21 e.d = 0;
22 f = 2;
25 int
26 main ()
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;