1*c87b03e5Sespie typedef struct {int a;} 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 != 47114711) 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) 19*c87b03e5Sespie abort (); 20*c87b03e5Sespie x.a = 47114711; 21*c87b03e5Sespie h (&x); 22*c87b03e5Sespie return x; 23*c87b03e5Sespie } 24*c87b03e5Sespie #endif 25*c87b03e5Sespie 26*c87b03e5Sespie #if COMPILER != 1 f()27*c87b03e5Sespief () 28*c87b03e5Sespie { 29*c87b03e5Sespie T x; 30*c87b03e5Sespie x.a = 13; 31*c87b03e5Sespie g (x); 32*c87b03e5Sespie if (x.a != 13) 33*c87b03e5Sespie abort (); 34*c87b03e5Sespie x = g (x); 35*c87b03e5Sespie if (x.a != 47114711) 36*c87b03e5Sespie abort (); 37*c87b03e5Sespie } 38*c87b03e5Sespie #endif 39*c87b03e5Sespie 40*c87b03e5Sespie #if COMPILER != 2 main()41*c87b03e5Sespiemain () 42*c87b03e5Sespie { 43*c87b03e5Sespie f (); 44*c87b03e5Sespie exit (0); 45*c87b03e5Sespie } 46*c87b03e5Sespie #endif 47