summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.c-torture/execute/ieee/acc2.c
blob: 2a44c8a01a864bd710c9778cb115251ef106be2a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
/* Tail call optimizations would reverse the order of multiplications
   in func().  */

double func (const double *array)
{
  double d = *array;
  if (d == 1.0)
    return d;
  else
    return d * func (array + 1);
}

int main ()
{
  double values[] = { __DBL_MAX__, 2.0, 0.5, 1.0 };
  if (func (values) != __DBL_MAX__)
    abort ();
  exit (0);
}