1 /* { dg-do run } */
2 
3 extern void abort (void);
4 
5 struct S
6 {
7   int f0;
8 } a = {1}, b, g, *c = &b, **f = &c;
9 
10 int *d, **e = &d, h;
11 
12 struct S
foo()13 foo ()
14 {
15   *e = &h;
16   if (!d)
17     __builtin_unreachable ();
18   *f = &g;
19   return a;
20 }
21 
22 int
main()23 main ()
24 {
25   struct S *i = c;
26   *i = foo ();
27   if (b.f0 != 1)
28     abort ();
29   return 0;
30 }
31