Skip to content

Commit 5367158

Browse files
author
Ard Biesheuvel
committed
MFB: more elaborate HUGE_VAL test
1 parent 53b4597 commit 5367158

File tree

1 file changed

+10
-3
lines changed

1 file changed

+10
-3
lines changed

ext/standard/config.m4

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -389,7 +389,7 @@ if test "$ac_cv_atof_accept_inf" = "yes"; then
389389
AC_DEFINE([HAVE_ATOF_ACCEPTS_INF], 1, [whether atof() accepts INF])
390390
fi
391391
392-
AC_CACHE_CHECK(whether HUGE_VAL + -HUGEVAL = NAN, ac_cv_huge_val_nan,[
392+
AC_CACHE_CHECK(whether HUGE_VAL + -HUGEVAL == NAN, ac_cv_huge_val_nan,[
393393
AC_TRY_RUN([
394394
#include <math.h>
395395
#include <stdlib.h>
@@ -413,9 +413,16 @@ AC_CACHE_CHECK(whether HUGE_VAL + -HUGEVAL = NAN, ac_cv_huge_val_nan,[
413413
#define zend_isnan(a) 0
414414
#endif
415415
416+
double hv(int i)
417+
{
418+
/* avoid inlining */
419+
if (i) return hv(i-1);
420+
else return HUGE_VAL;
421+
}
422+
416423
int main(int argc, char** argv)
417424
{
418-
return zend_isinf(HUGE_VAL) && zend_isnan(HUGE_VAL + -HUGE_VAL) ? 0 : 1;
425+
return zend_isinf(hv(3)) && zend_isnan(HUGE_VAL + -HUGE_VAL) ? 0 : 1;
419426
}
420427
],[
421428
ac_cv_huge_val_nan=yes
@@ -427,7 +434,7 @@ int main(int argc, char** argv)
427434
])
428435
dnl This is the most probable fallback so we assume yes in case of cross compile.
429436
if test "$ac_cv_huge_val_nan" = "yes"; then
430-
AC_DEFINE([HAVE_HUGE_VAL_NAN], 1, [whether HUGE_VAL + -HUGEVAL = NAN])
437+
AC_DEFINE([HAVE_HUGE_VAL_NAN], 1, [whether HUGE_VAL + -HUGEVAL == NAN])
431438
fi
432439
433440
PHP_CHECK_I18N_FUNCS

0 commit comments

Comments
 (0)