self(void * p)1 static void *self(void *p){ return p; } 2 3 int f()4 f() 5 { 6 struct { int i; } s, *sp; 7 int *ip = &s.i; 8 9 s.i = 1; 10 sp = self(&s); 11 12 *ip = 0; 13 return sp->i+1; 14 } 15 main()16 main() 17 { 18 if (f () != 1) 19 abort (); 20 else 21 exit (0); 22 } 23