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)18foo (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()27main () 28 { 29 foo(y.f0); 30 if (y.f0.f0 != 0) 31 abort (); 32 return 0; 33 } 34