diff options
author | Nikita Popov <nikita.ppv@gmail.com> | 2017-02-05 18:10:04 +0100 |
---|---|---|
committer | Nikita Popov <nikita.ppv@gmail.com> | 2017-02-05 18:10:04 +0100 |
commit | 70b27b5ad874953e76730322e250a7e2d3e77155 (patch) | |
tree | d872033c1f934f53c9bb2395d58b9b9bf9ca63ac /ext | |
parent | b87e399393816d966703fded907f8fc8f9afa5c1 (diff) | |
parent | 9ea0949f43959ff0cf519e7a10ef9de7a538cde3 (diff) | |
download | php-git-70b27b5ad874953e76730322e250a7e2d3e77155.tar.gz |
Merge branch 'PHP-7.0' into PHP-7.1
Diffstat (limited to 'ext')
-rw-r--r-- | ext/standard/config.m4 | 12 | ||||
-rw-r--r-- | ext/standard/tests/math/bug74039.phpt | 28 |
2 files changed, 34 insertions, 6 deletions
diff --git a/ext/standard/config.m4 b/ext/standard/config.m4 index f2a1925d1e..3324ee7a16 100644 --- a/ext/standard/config.m4 +++ b/ext/standard/config.m4 @@ -359,7 +359,7 @@ AC_TRY_RUN([ #include <math.h> #include <stdlib.h> -#ifdef HAVE_ISNAN +#ifdef HAVE_DECL_ISNAN #define zend_isnan(a) isnan(a) #elif defined(HAVE_FPCLASS) #define zend_isnan(a) ((fpclass(a) == FP_SNAN) || (fpclass(a) == FP_QNAN)) @@ -390,11 +390,11 @@ AC_TRY_RUN([ #include <math.h> #include <stdlib.h> -#ifdef HAVE_ISINF +#ifdef HAVE_DECL_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)?1:0) +#define zend_isinf(a) (((a)==INFINITY || (a)==-INFINITY)?1:0) #elif defined(HAVE_FPCLASS) #define zend_isinf(a) ((fpclass(a) == FP_PINF) || (fpclass(a) == FP_NINF)) #else @@ -424,11 +424,11 @@ AC_TRY_RUN([ #include <math.h> #include <stdlib.h> -#ifdef HAVE_ISINF +#ifdef HAVE_DECL_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)?1:0) +#define zend_isinf(a) (((a)==INFINITY || (a)==-INFINITY)?1:0) #elif defined(HAVE_FPCLASS) #define zend_isinf(a) ((fpclass(a) == FP_PINF) || (fpclass(a) == FP_NINF)) #else @@ -459,7 +459,7 @@ AC_TRY_RUN([ #include <math.h> #include <stdlib.h> -#ifdef HAVE_ISNAN +#ifdef HAVE_DECL_ISNAN #define zend_isnan(a) isnan(a) #elif defined(HAVE_FPCLASS) #define zend_isnan(a) ((fpclass(a) == FP_SNAN) || (fpclass(a) == FP_QNAN)) diff --git a/ext/standard/tests/math/bug74039.phpt b/ext/standard/tests/math/bug74039.phpt new file mode 100644 index 0000000000..dd0e1fa260 --- /dev/null +++ b/ext/standard/tests/math/bug74039.phpt @@ -0,0 +1,28 @@ +--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) |