summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.c-torture/compile/combine-hang.c
blob: 7cc57afe603ef37d858c2a95e7d07d4f02694755 (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
typedef union
{
  double value;
  struct
  {
    unsigned long msw;
    unsigned long lsw;
  } parts;
} ieee_double_shape_type;

double f (int iy)
{
  double z, t;
  ieee_double_shape_type u, v;

  if (iy == 1)
    return 0;

  u.parts.msw = iy;
  u.parts.lsw = 0;
  z = u.value;
  v.parts.msw = iy;
  v.parts.lsw = 0;
  t = v.value;
  return 1.0+z+t+t;
}