1 /* { dg-do run } */
2
3 extern void abort (void) __attribute__((noreturn));
4
5 struct S { int f0; } a;
6
7 int b, e, *d = &b, f;
8
9 void
10 fn1 ()
11 {
12 int **g[9][6];
13 int ***h = &g[6][3];
14 for (; e < 9; e++) {
15 f = 0;
16 for (; f < 6; f++)
17 g[e][f] = &d;
18 }
19 ***h = 0;
20 }
21
22 void
23 fn2 ()
24 {
25 fn1 ();
26 struct S c[4][10] = {};
27 a = c[3][9];
28 }
29
30 int
31 main ()
32 {
33 fn2 ();
34 if (a.f0 != 0)
35 abort ();
36 return 0;
37 }