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