typedef struct {int a;} T; int h (T *); T g (T); #if COMPILER != 1 h (T *x) { if (x->a != 47114711) abort (); } #endif #if COMPILER != 2 T g (T x) { if (x.a != 13) abort (); x.a = 47114711; h (&x); return x; } #endif #if COMPILER != 1 f () { T x; x.a = 13; g (x); if (x.a != 13) abort (); x = g (x); if (x.a != 47114711) abort (); } #endif #if COMPILER != 2 main () { f (); exit (0); } #endif