| typedef struct {int a, b, c, d, e;} T; |
| |
| int h (T *); |
| T g (T); |
| |
| #if COMPILER != 1 |
| h (T *x) |
| { |
| if (x->a != 0 || x->b != 1 || x->c != 2 || x->d != 3 || x->e != 4) |
| abort (); |
| } |
| #endif |
| |
| #if COMPILER != 2 |
| T |
| g (T x) |
| { |
| if (x.a != 13 || x.b != 47 || x.c != 123456 || x.d != -4711 || x.e != -2) |
| abort (); |
| x.a = 0; |
| x.b = 1; |
| x.c = 2; |
| x.d = 3; |
| x.e = 4; |
| h (&x); |
| return x; |
| } |
| #endif |
| |
| #if COMPILER != 1 |
| f () |
| { |
| T x; |
| x.a = 13; |
| x.b = 47; |
| x.c = 123456; |
| x.d = -4711; |
| x.e = -2; |
| g (x); |
| if (x.a != 13 || x.b != 47 || x.c != 123456 || x.d != -4711 || x.e != -2) |
| abort (); |
| x = g (x); |
| if (x.a != 0 || x.b != 1 || x.c != 2 || x.d != 3 || x.e != 4) |
| abort (); |
| } |
| #endif |
| |
| #if COMPILER != 2 |
| main () |
| { |
| f (); |
| exit (0); |
| } |
| #endif |