From: Ard Biesheuvel Date: Sat, 3 Apr 2004 10:42:42 +0000 (+0000) Subject: MFB: more elaborate HUGE_VAL test X-Git-Tag: php-5.0.0RC2RC1~104 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=53671580462be039edf4a68729b1babb43c25b21;p=php MFB: more elaborate HUGE_VAL test --- diff --git a/ext/standard/config.m4 b/ext/standard/config.m4 index 7d4f39f2a9..3aa706a4b6 100644 --- a/ext/standard/config.m4 +++ b/ext/standard/config.m4 @@ -389,7 +389,7 @@ if test "$ac_cv_atof_accept_inf" = "yes"; then AC_DEFINE([HAVE_ATOF_ACCEPTS_INF], 1, [whether atof() accepts INF]) fi -AC_CACHE_CHECK(whether HUGE_VAL + -HUGEVAL = NAN, ac_cv_huge_val_nan,[ +AC_CACHE_CHECK(whether HUGE_VAL + -HUGEVAL == NAN, ac_cv_huge_val_nan,[ AC_TRY_RUN([ #include #include @@ -413,9 +413,16 @@ AC_CACHE_CHECK(whether HUGE_VAL + -HUGEVAL = NAN, ac_cv_huge_val_nan,[ #define zend_isnan(a) 0 #endif +double hv(int i) +{ + /* avoid inlining */ + if (i) return hv(i-1); + else return HUGE_VAL; +} + int main(int argc, char** argv) { - return zend_isinf(HUGE_VAL) && zend_isnan(HUGE_VAL + -HUGE_VAL) ? 0 : 1; + return zend_isinf(hv(3)) && zend_isnan(HUGE_VAL + -HUGE_VAL) ? 0 : 1; } ],[ ac_cv_huge_val_nan=yes @@ -427,7 +434,7 @@ int main(int argc, char** argv) ]) dnl This is the most probable fallback so we assume yes in case of cross compile. if test "$ac_cv_huge_val_nan" = "yes"; then - AC_DEFINE([HAVE_HUGE_VAL_NAN], 1, [whether HUGE_VAL + -HUGEVAL = NAN]) + AC_DEFINE([HAVE_HUGE_VAL_NAN], 1, [whether HUGE_VAL + -HUGEVAL == NAN]) fi PHP_CHECK_I18N_FUNCS