1 struct Foo { 2 int *p; 3 int *q; 4 }; 5 6 void __attribute__((noinline)) bar(int ** x)7bar (int **x) 8 { 9 struct Foo *f = (struct Foo *)(x - 1); 10 *(f->p) = 0; 11 } 12 foo(void)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.q); 20 return i; 21 } 22 23 extern void abort (void); main()24int main() 25 { 26 if (foo () != 0) 27 abort (); 28 return 0; 29 } 30