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