1 /* { dg-do run } */
2 /* { dg-options "-O" } */
3
4 #pragma pack(1)
5 struct S0
6 {
7 #if __SIZEOF_INT >= 4
8 int f0:24;
9 #else
10 __INT32_TYPE__ f0:24;
11 #endif
12 };
13
14 struct S1
15 {
16 int f1;
17 } a;
18
19 int b, c;
20
21 char
fn1(struct S1 p1)22 fn1 (struct S1 p1)
23 {
24 return 0;
25 }
26
27 int
main()28 main ()
29 {
30 c = fn1 (a);
31 if (b)
32 {
33 struct S0 f[3][9] =
34 { { { 0 }, { 0 }, { 1 }, { 1 }, { 0 }, { 0 }, { 0 }, { 1 }, { 1 } },
35 { { 0 }, { 0 }, { 1 }, { 1 }, { 0 }, { 0 }, { 0 }, { 1 }, { 1 } },
36 { { 0 }, { 0 }, { 1 }, { 1 }, { 0 }, { 0 }, { 0 }, { 1 }, { 1 } }
37 };
38 b = f[1][8].f0;
39 }
40 struct S0 g[3][9] =
41 { { { 0 }, { 0 }, { 1 }, { 1 }, { 0 }, { 0 }, { 0 }, { 1 }, { 1 } },
42 { { 0 }, { 0 }, { 1 }, { 1 }, { 0 }, { 0 }, { 0 }, { 1 }, { 1 } },
43 { { 0 }, { 0 }, { 1 }, { 1 }, { 0 }, { 0 }, { 0 }, { 1 }, { 1 } }
44 };
45
46 if (g[1][8].f0 != 1)
47 __builtin_abort ();
48
49 return 0;
50 }
51