OSDN Git Service

7c5fa79e142fd0ff16bf31d1e5f2dd0e3564bc28
[pf3gnuchains/gcc-fork.git] / struct-ic.c
1 typedef struct {int a; char b;} T;
2
3 int h (T *);
4 T g (T);
5
6 #if COMPILER != 1
7 h (T *x)
8 {
9   if (x->a != 0 || x->b != 1)
10     abort ();
11 }
12 #endif
13
14 #if COMPILER != 2
15 T
16 g (T x)
17 {
18   if (x.a != 13 || x.b != 47)
19     abort ();
20   x.a = 0;
21   x.b = 1;
22   h (&x);
23   return x;
24 }
25 #endif
26
27 #if COMPILER != 1
28 f ()
29 {
30   T x;
31   x.a = 13;
32   x.b = 47;
33   g (x);
34   if (x.a != 13 || x.b != 47)
35     abort ();
36   x = g (x);
37   if (x.a != 0 || x.b != 1)
38     abort ();
39 }
40 #endif
41
42 #if COMPILER != 2
43 main ()
44 {
45   f ();
46   exit (0);
47 }
48 #endif