xref: /openbsd-src/gnu/usr.bin/gcc/gcc/testsuite/gcc.c-torture/execute/921204-1.c (revision c87b03e512fc05ed6e0222f6fb0ae86264b1d05b)
1 typedef struct {
2   unsigned b0:1, f1:17, b18:1, b19:1, b20:1, f2:11;
3 } bf;
4 
5 typedef union {
6   bf b;
7   unsigned w;
8 } bu;
9 
10 bu
f(bu i)11 f(bu i)
12 {
13   bu o = i;
14 
15   if (o.b.b0)
16     o.b.b18 = 1,
17     o.b.b20 = 1;
18   else
19     o.b.b18 = 0,
20     o.b.b20 = 0;
21 
22   return o;
23 }
24 
main()25 main()
26 {
27   bu a;
28   bu r;
29 
30   a.w = 0x4000000;
31   a.b.b0 = 0;
32   r = f(a);
33   if (a.w != r.w)
34     abort();
35   exit(0);
36 }
37