Print this page
11175 libm should use signbit() correctly
11188 c99 math macros should return strictly backward compatible values

*** 64,80 **** * C99 7.12.3 classification macros */ #undef isnan #undef isinf #if __GNUC__ >= 4 - #define isnan(x) __builtin_isnan(x) - #define isinf(x) __builtin_isinf(x) #define fpclassify(x) __builtin_fpclassify(FP_NAN, FP_INFINITE, FP_NORMAL, \ FP_SUBNORMAL, FP_ZERO, x) ! #define isfinite(x) __builtin_isfinite(x) ! #define isnormal(x) __builtin_isnormal(x) ! #define signbit(x) (__builtin_signbit(x) > 0) #else /* __GNUC__ >= 4 */ #define isnan(x) __extension__( \ { __typeof(x) __x_n = (x); \ __builtin_isunordered(__x_n, __x_n); }) #define isinf(x) __extension__( \ --- 64,80 ---- * C99 7.12.3 classification macros */ #undef isnan #undef isinf #if __GNUC__ >= 4 #define fpclassify(x) __builtin_fpclassify(FP_NAN, FP_INFINITE, FP_NORMAL, \ FP_SUBNORMAL, FP_ZERO, x) ! #define isnan(x) __builtin_isnan(x) ! #define isinf(x) __builtin_isinf(x) ! #define isfinite(x) (__builtin_isfinite(x) != 0) ! #define isnormal(x) (__builtin_isnormal(x) != 0) ! #define signbit(x) (__builtin_signbit(x) != 0) #else /* __GNUC__ >= 4 */ #define isnan(x) __extension__( \ { __typeof(x) __x_n = (x); \ __builtin_isunordered(__x_n, __x_n); }) #define isinf(x) __extension__( \