diff options
Diffstat (limited to 'gcc/testsuite/gcc.c-torture/compile/acc1.c')
-rw-r--r-- | gcc/testsuite/gcc.c-torture/compile/acc1.c | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.c-torture/compile/acc1.c b/gcc/testsuite/gcc.c-torture/compile/acc1.c new file mode 100644 index 000000000..5b5bcd42d --- /dev/null +++ b/gcc/testsuite/gcc.c-torture/compile/acc1.c @@ -0,0 +1,21 @@ +/* { dg-options "-ffast-math" } */ + +/* Fast maths allows tail recursion to be turned into iteration. */ + +double +foo (int n, double f) +{ + if (n == 0) + return f; + else + return f + foo (n - 1, f); +} + +double +bar (int n, double f) +{ + if (n == 0) + return f; + else + return f * bar (n - 1, f); +} |