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