diff options
author | Ard Biesheuvel <abies@php.net> | 2004-04-03 10:42:42 +0000 |
---|---|---|
committer | Ard Biesheuvel <abies@php.net> | 2004-04-03 10:42:42 +0000 |
commit | 53671580462be039edf4a68729b1babb43c25b21 (patch) | |
tree | 4bdbf4c59a336c0e81fa50433b16c244261cfcd8 | |
parent | 53b4597fca9f9f41b597d3b4a0114669b41831d6 (diff) | |
download | php-git-53671580462be039edf4a68729b1babb43c25b21.tar.gz |
MFB: more elaborate HUGE_VAL test
-rw-r--r-- | ext/standard/config.m4 | 13 |
1 files changed, 10 insertions, 3 deletions
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 <math.h> #include <stdlib.h> @@ -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 |