1  union U
       2  {
       3    __complex__ int ci;
       4    __complex__ float cf;
       5  };
       6  
       7  float gd;
       8  extern float bar (union U);
       9  
      10  float foo (int b, double f1, double f2, int c1, int c2)
      11  {
      12    union U u;
      13    double r;
      14  
      15    if (b)
      16      {
      17        __real__ u.cf = f1;
      18        __imag__ u.cf = f2;
      19      }
      20    else
      21      {
      22        __real__ u.ci = c1;
      23        __imag__ u.ci = c2;
      24      }
      25  
      26    r = bar (u);
      27    return r;
      28  }