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