blob: e1d5c6a6b37e835e3801f188033296d4557842a3 [file] [log] [blame]
Egor Pasko167ac2b2010-05-18 12:26:511typedef 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