1 /* { dg-do run } */
2 /* { dg-require-effective-target int32plus } */
3
4 struct __attribute__((packed)) A { int b : 24; } c[243], f;
5
6 int d, e, g, j;
7
8 __attribute__((noipa)) int
9 foo (int x)
10 {
11 if (x != 0)
12 __builtin_abort ();
13 return 2;
14 }
15
16 int
17 main ()
18 {
19 struct A h = f;
20 h.b = 0;
21 while (e++ < 3)
22 {
23 while (d++ < 3)
24 c[46].b ^= 9890739;
25 f = c[46] = h;
26 }
27 while (g++ < 9)
28 j = foo (c[g * 9 + j].b);
29 return 0;
30 }