1typedef union {
2  long l;
3  struct { char b3, b2, b1, b0; } c;
4} T;
5
6f (T u)
7{
8  ++u.c.b0;
9  ++u.c.b3;
10  return (u.c.b1 != 2 || u.c.b2 != 2);
11}
12
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