summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.c-torture/compile/pr42196-2.c
blob: 40ae077f6b970e2212392e4fd5b63937e628daaf (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
union U
{
  __complex__ int ci;
  __complex__ float cf;
};

float gd;
extern float bar (union U);

float foo (int b, double f1, double f2, int c1, int c2)
{
  union U u;
  double r;

  if (b)
    {
      __real__ u.cf = f1;
      __imag__ u.cf = f2;
    }
  else
    {
      __real__ u.ci = c1;
      __imag__ u.ci = c2;
    }

  r = bar (u);
  return r;
}