1struct Foo {
2  int *p;
3  int *q;
4};
5
6void __attribute__((noinline))
7bar (int **x)
8{
9  struct Foo *f = (struct Foo *)x;
10  *(f->q) = 0;
11}
12
13int foo(void)
14{
15  struct Foo f;
16  int i = 1, j = 2;
17  f.p = &i;
18  f.q = &j;
19  bar(&f.p);
20  return j;
21}
22
23extern void abort (void);
24int main()
25{
26  if (foo () != 0)
27    abort ();
28  return 0;
29}
30