1 /* { dg-do run } */
2 
3 void abort (void);
4 
5 struct S0
6 {
7   int f0;
8 };
9 struct S1
10 {
11   struct S0 f0;
12 };
13 
14 struct S1 x = { {0} };
15 struct S1 y = { {1} };
16 
17 static void
foo(struct S0 p)18 foo (struct S0 p)
19 {
20   struct S0 *l = &y.f0;
21   *l = x.f0;
22   if (p.f0)
23     *l = *l;
24 }
25 
26 int
main()27 main ()
28 {
29   foo(y.f0);
30   if (y.f0.f0 != 0)
31     abort ();
32   return 0;
33 }
34