1  union u
       2  {
       3    struct {unsigned h, l;} i;
       4    double d;
       5  };
       6  
       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  
      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