OSDN Git Service

bb43d76aca9035d1be00a72b4ac10395db2a21a8
[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 "tailr"} } */
18 /* { dg-final { cleanup-tree-dump "tailr" } } */