1 struct X { int *p; } x; 2 3 struct X __attribute__((noinline)) foo(int * p)4foo(int *p) { struct X x; x.p = p; return x; } 5 6 void __attribute((noinline)) bar()7bar() { *x.p = 1; } 8 9 extern void abort (void); main()10int main() 11 { 12 int i = 0; 13 x = foo(&i); 14 bar(); 15 if (i != 1) 16 abort (); 17 return 0; 18 } 19