1 typedef struct {int a; char b;} T; 2 3 int h (T *); 4 T g (T); 5 6 #if COMPILER != 1 7 h (T *x) 8 { 9 if (x->a != 0 || x->b != 1) 10 abort (); 11 } 12 #endif 13 14 #if COMPILER != 2 15 T 16 g (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 28 f () 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 43 main () 44 { 45 f (); 46 exit (0); 47 } 48 #endif 49