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)11f(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()25main() 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