1 /* { dg-do compile } */
2 
3 struct S0
4 {
5   int f;
6 };
7 
8 struct S1
9 {
10   struct S0 f1;
11   volatile int f2;
12 };
13 
14 struct S2
15 {
16   struct S1 g;
17 } a, b;
18 
19 static int *c[1][2] = {{0, (int *)&a.g.f2}};
20 static int d;
21 
22 int
main()23 main ()
24 {
25   for (d = 0; d < 1; d++)
26     for (b.g.f1.f = 0; b.g.f1.f < 1; b.g.f1.f++)
27       *c[b.g.f1.f][d + 1] = 0;
28   return 0;
29 }
30