/* { dg-do compile } */ /* { dg-options "-O2 -fdump-tree-evrp" } */ #include void link_error(); void test1 (double x) { if (x > __DBL_MAX__ && !__builtin_isinf (x)) link_error (); if (x < -__DBL_MAX__ && !__builtin_isinf (x)) link_error (); } void test2 (float x) { if (x > __FLT_MAX__ && !__builtin_isinf (x)) link_error (); if (x < -__FLT_MAX__ && !__builtin_isinf (x)) link_error (); } void test3 (double x) { if (!__builtin_isinf (x) && !__builtin_isnan (x) && x > __DBL_MAX__) link_error (); if (!__builtin_isinf (x) && !__builtin_isnan (x) && x < -__DBL_MAX__) link_error (); } void test4 (float x) { if (!__builtin_isinf (x) && !__builtin_isnan (x) && x > __FLT_MAX__) link_error (); if (!__builtin_isinf (x) && !__builtin_isnan (x) && x < -__FLT_MAX__) link_error (); } /* { dg-final { scan-tree-dump-not "link_error" "evrp" } } */