1union U
2{
3  double d;
4  __complex__ int c;
5};
6
7double gd;
8extern double bar (union U);
9
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