OSDN Git Service

PR tree-optimization/1046
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / gcc.dg / tree-ssa / tailrecursion-4.c
1 /* { dg-do compile } */
2 /* { dg-options "-O1 -foptimize-sibling-calls -fdump-tree-tailr-details" } */
3 int
4 t(int a)
5 {
6         int r;
7         if (a&1)
8                 r = t(a-1);
9         else if (a)
10                 r = t(a-2);
11         else
12                 return 0;
13         if (r)
14                 r=r;
15         return r;
16 }
17 /* { dg-final { scan-tree-dump-times "Eliminated tail recursion" 2 "tailr1"} } */
18 /* { dg-final { cleanup-tree-dump "tailr1" } } */