1typedef struct {int a, b;} T; 2 3int h (T *); 4T g (T); 5 6#if COMPILER != 1 7h (T *x) 8{ 9 if (x->a != 0 || x->b != 1) 10 abort (); 11} 12#endif 13 14#if COMPILER != 2 15T 16g (T x) 17{ 18 if (x.a != 13 || x.b != 47) 19 abort (); 20 x.a = 0; 21 x.b = 1; 22 h (&x); 23 return x; 24} 25#endif 26 27#if COMPILER != 1 28f () 29{ 30 T x; 31 x.a = 13; 32 x.b = 47; 33 g (x); 34 if (x.a != 13 || x.b != 47) 35 abort (); 36 x = g (x); 37 if (x.a != 0 || x.b != 1) 38 abort (); 39} 40#endif 41 42#if COMPILER != 2 43main () 44{ 45 f (); 46 exit (0); 47} 48#endif 49