/* { dg-do run } */externvoidabort(void);struct X {int*p;int*q;};void__attribute__((noinline, noclone))foo(struct X x) { *x.q =0; }volatileint what;struct X y;intmain(){int i, j;struct X x, *p;
x.p = &i;
x.q = &j;if(what)
p = &y;else
p = &x;
j =1;foo(*p);if(j !=0)abort();return0;}