// { dg-do compile } | |
// { dg-options "-O2 -fno-thread-jumps -fdump-tree-evrp" } | |
extern void link_error (); | |
void fast_sqrt (float); | |
float test (float x) | |
{ | |
float y = x*x; | |
if (y >= 0.f) | |
{ | |
if (__builtin_isnan (y)) | |
link_error (); | |
else | |
fast_sqrt (y); | |
if (!__builtin_isnan (y)) | |
fast_sqrt (y); | |
else | |
link_error (); | |
} | |
} | |
// { dg-final { scan-tree-dump-times "fast_sqrt" 2 "evrp" } } | |
// { dg-final { scan-tree-dump-not "link_error" "evrp" } } |