OSDN Git Service

Fix PR 17408 and PR 17409.
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / gcc.c-torture / execute / 921204-1.c
1 /* The bit-field below would have a problem if __INT_MAX__ is too
2    small.  */
3 #if __INT_MAX__ < 2147483647
4 int
5 main (void)
6 {
7   exit (0);
8 }
9 #else
10 typedef struct {
11   unsigned b0:1, f1:17, b18:1, b19:1, b20:1, f2:11;
12 } bf;
13
14 typedef union {
15   bf b;
16   unsigned w;
17 } bu;
18
19 bu
20 f(bu i)
21 {
22   bu o = i;
23
24   if (o.b.b0)
25     o.b.b18 = 1,
26     o.b.b20 = 1;
27   else
28     o.b.b18 = 0,
29     o.b.b20 = 0;
30
31   return o;
32 }
33
34 main()
35 {
36   bu a;
37   bu r;
38
39   a.w = 0x4000000;
40   a.b.b0 = 0;
41   r = f(a);
42   if (a.w != r.w)
43     abort();
44   exit(0);
45 }
46 #endif