/* { dg-do compile } */ | |
/* { dg-options "-O2 -fdump-tree-tailc-details" } */ | |
__attribute__((noinline)) | |
static float f(float x) | |
{ | |
return x*x; | |
} | |
static double g(float x) | |
{ | |
return x>0 ? f(x) : x+1.0; | |
} | |
float foo(float x) | |
{ | |
return g(x); | |
} | |
/* { dg-final { scan-tree-dump "Found tail call" "tailc" } } */ |