1static void *self(void *p){ return p; } 2 3int 4f() 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 16main() 17{ 18 if (f () != 1) 19 abort (); 20 else 21 exit (0); 22} 23