summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Zend/Zend.m43
-rw-r--r--Zend/configure.ac8
-rw-r--r--configure.ac8
-rw-r--r--ext/standard/tests/math/bug74039.phpt28
4 files changed, 9 insertions, 38 deletions
diff --git a/Zend/Zend.m4 b/Zend/Zend.m4
index f93d507697..a1c1d3b07b 100644
--- a/Zend/Zend.m4
+++ b/Zend/Zend.m4
@@ -100,8 +100,7 @@ AC_FUNC_ALLOCA
AC_CHECK_FUNCS(memcpy strdup getpid kill strtod strtol finite fpclass sigsetjmp)
AC_ZEND_BROKEN_SPRINTF
-AC_CHECK_FUNCS(finite)
-AC_CHECK_DECLS([isfinite, isnan, isinf], [], [], [[#include <math.h>]])
+AC_CHECK_FUNCS(finite isfinite isinf isnan)
ZEND_FP_EXCEPT
diff --git a/Zend/configure.ac b/Zend/configure.ac
index 31bafdc546..5dfdccac6d 100644
--- a/Zend/configure.ac
+++ b/Zend/configure.ac
@@ -63,7 +63,7 @@ int zend_sprintf(char *buffer, const char *format, ...);
#include <math.h>
#ifndef zend_isnan
-#ifdef HAVE_DECL_ISNAN
+#ifdef HAVE_ISNAN
#define zend_isnan(a) isnan(a)
#elif defined(HAVE_FPCLASS)
#define zend_isnan(a) ((fpclass(a) == FP_SNAN) || (fpclass(a) == FP_QNAN))
@@ -72,18 +72,18 @@ int zend_sprintf(char *buffer, const char *format, ...);
#endif
#endif
-#ifdef HAVE_DECL_ISINF
+#ifdef HAVE_ISINF
#define zend_isinf(a) isinf(a)
#elif defined(INFINITY)
/* Might not work, but is required by ISO C99 */
-#define zend_isinf(a) (((a)==INFINITY || (a)==-INFINITY)?1:0)
+#define zend_isinf(a) (((a)==INFINITY)?1:0)
#elif defined(HAVE_FPCLASS)
#define zend_isinf(a) ((fpclass(a) == FP_PINF) || (fpclass(a) == FP_NINF))
#else
#define zend_isinf(a) 0
#endif
-#if defined(HAVE_DECL_ISINFINITE) || defined(isfinite)
+#if defined(HAVE_ISFINITE) || defined(isfinite)
#define zend_finite(a) isfinite(a)
#elif defined(HAVE_FINITE)
#define zend_finite(a) finite(a)
diff --git a/configure.ac b/configure.ac
index 8326895a3d..5584a4f43a 100644
--- a/configure.ac
+++ b/configure.ac
@@ -68,7 +68,7 @@ int zend_sprintf(char *buffer, const char *format, ...);
#include <math.h>
#ifndef zend_isnan
-#ifdef HAVE_DECL_ISNAN
+#ifdef HAVE_ISNAN
#define zend_isnan(a) isnan(a)
#elif defined(HAVE_FPCLASS)
#define zend_isnan(a) ((fpclass(a) == FP_SNAN) || (fpclass(a) == FP_QNAN))
@@ -77,18 +77,18 @@ int zend_sprintf(char *buffer, const char *format, ...);
#endif
#endif
-#ifdef HAVE_DECL_ISINF
+#ifdef HAVE_ISINF
#define zend_isinf(a) isinf(a)
#elif defined(INFINITY)
/* Might not work, but is required by ISO C99 */
-#define zend_isinf(a) (((a)==INFINITY || (a)==-INFINITY)?1:0)
+#define zend_isinf(a) (((a)==INFINITY)?1:0)
#elif defined(HAVE_FPCLASS)
#define zend_isinf(a) ((fpclass(a) == FP_PINF) || (fpclass(a) == FP_NINF))
#else
#define zend_isinf(a) 0
#endif
-#if defined(HAVE_DECL_ISINFINITE) || defined(isfinite)
+#if defined(HAVE_ISFINITE) || defined(isfinite)
#define zend_finite(a) isfinite(a)
#elif defined(HAVE_FINITE)
#define zend_finite(a) finite(a)
diff --git a/ext/standard/tests/math/bug74039.phpt b/ext/standard/tests/math/bug74039.phpt
deleted file mode 100644
index dd0e1fa260..0000000000
--- a/ext/standard/tests/math/bug74039.phpt
+++ /dev/null
@@ -1,28 +0,0 @@
---TEST--
-Bug #74039: is_infinite(-INF) returns false
---FILE--
-<?php
-
-var_dump(is_finite(INF));
-var_dump(is_infinite(INF));
-var_dump(is_nan(INF));
-
-var_dump(is_finite(-INF));
-var_dump(is_infinite(-INF));
-var_dump(is_nan(-INF));
-
-var_dump(is_finite(NAN));
-var_dump(is_infinite(NAN));
-var_dump(is_nan(NAN));
-
-?>
---EXPECT--
-bool(false)
-bool(true)
-bool(false)
-bool(false)
-bool(true)
-bool(false)
-bool(false)
-bool(false)
-bool(true)