| union U | |
| { | |
| double d; | |
| __complex__ int c; | |
| }; | |
| double gd; | |
| extern double bar (union U); | |
| double foo (int b, double d, int c1, int c2) | |
| { | |
| union U u; | |
| double r; | |
| if (b) | |
| { | |
| u.d = d; | |
| r = u.d; | |
| } | |
| else | |
| { | |
| __real__ u.c = c1; | |
| __imag__ u.c = c2; | |
| r = bar (u); | |
| } | |
| return r; | |
| } |