/* { dg-do run } */ | |
void abort (void); | |
struct S0 | |
{ | |
int f0; | |
}; | |
struct S1 | |
{ | |
struct S0 f0; | |
}; | |
struct S1 x = { {0} }; | |
struct S1 y = { {1} }; | |
static void | |
foo (struct S0 p) | |
{ | |
struct S0 *l = &y.f0; | |
*l = x.f0; | |
if (p.f0) | |
*l = *l; | |
} | |
int | |
main () | |
{ | |
foo(y.f0); | |
if (y.f0.f0 != 0) | |
abort (); | |
return 0; | |
} |