1 union u
2 {
3   struct {unsigned h, l;} i;
4   double d;
5 };
6 
foo(union u x)7 foo (union u x)
8 {
9   while (x.i.h++)
10     {
11       while (x.i.l-- > 0)
12 	;
13       while (x.d++ > 0)
14 	;
15     }
16 }
17 
18 union n
19 {
20   long long unsigned i;
21   double d;
22 };
23 
bar(union n x)24 bar (union n x)
25 {
26   int i;
27   for (i = 0; i < 100; i++)
28     {
29       while (--x.i > 0)
30 	;
31       while (++x.d > 0)
32 	;
33     }
34   return x.i;
35 }
36 
37