blob: c58fe943c83103bca0d8cbd5e0d285fc75bce872 [file] [log] [blame]
/* { dg-do run } */
extern void abort (void);
struct X {
int *p;
int *q;
};
void __attribute__((noinline, noclone))
foo (struct X x) { *x.q = 0; }
volatile int what;
struct X y;
int main()
{
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 ();
return 0;
}