1 typedef union { 2 long l; 3 struct { char b3, b2, b1, b0; } c; 4 } T; 5 f(T u)6f (T u) 7 { 8 ++u.c.b0; 9 ++u.c.b3; 10 return (u.c.b1 != 2 || u.c.b2 != 2); 11 } 12 main()13main () 14 { 15 T u; 16 u.c.b1 = 2; 17 u.c.b2 = 2; 18 u.c.b0 = ~0; 19 u.c.b3 = ~0; 20 if (f (u)) 21 abort(); 22 exit (0); 23 } 24