1 struct X { int i; };
2 
3 int __attribute__((noinline))
foo(struct X * p,int * q,int a,int b)4 foo (struct X *p, int *q, int a, int b)
5 {
6   struct X x, y;
7   if (a)
8     p = &x;
9   if (b)
10     q = &x.i;
11   else
12     q = &y.i;
13   *q = 1;
14   return p->i;
15 }
16 extern void abort (void);
main()17 int main()
18 {
19   if (foo((void *)0, (void *)0, 1, 1) != 1)
20     abort ();
21   return 0;
22 }
23