1typedef struct {int a, b, c, d, e;} 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 || x->c != 2 || x->d != 3 || x->e != 4) 10 abort (); 11} 12#endif 13 14#if COMPILER != 2 15T 16g (T x) 17{ 18 if (x.a != 13 || x.b != 47 || x.c != 123456 || x.d != -4711 || x.e != -2) 19 abort (); 20 x.a = 0; 21 x.b = 1; 22 x.c = 2; 23 x.d = 3; 24 x.e = 4; 25 h (&x); 26 return x; 27} 28#endif 29 30#if COMPILER != 1 31f () 32{ 33 T x; 34 x.a = 13; 35 x.b = 47; 36 x.c = 123456; 37 x.d = -4711; 38 x.e = -2; 39 g (x); 40 if (x.a != 13 || x.b != 47 || x.c != 123456 || x.d != -4711 || x.e != -2) 41 abort (); 42 x = g (x); 43 if (x.a != 0 || x.b != 1 || x.c != 2 || x.d != 3 || x.e != 4) 44 abort (); 45} 46#endif 47 48#if COMPILER != 2 49main () 50{ 51 f (); 52 exit (0); 53} 54#endif 55