1 extern void abort (void); 2 3 static struct X { void *a; void *b; } a, b; 4 foo(void)5void __attribute__((noinline)) foo (void) 6 { 7 void *tem = a.b; 8 a.b = (void *)0; 9 b.b = tem; 10 b.a = a.a; 11 a.a = tem; 12 } 13 main()14int main() 15 { 16 a.b = &a; 17 foo (); 18 if (b.b != &a) 19 abort (); 20 return 0; 21 } 22