mirror of git://sourceware.org/git/glibc.git
x86: Do not use __builtin_isinf_sign on clang
clang does not handle pseudo normal numbers, It fixes the regression on test-ldouble-isinf when built with clang: Failure: isinf (pseudo_zero): Exception "Invalid operation" set Failure: isinf (pseudo_inf): Exception "Invalid operation" set Failure: isinf (pseudo_qnan): Exception "Invalid operation" set Failure: isinf (pseudo_snan): Exception "Invalid operation" set Failure: isinf (pseudo_unnormal): Exception "Invalid operation" set Failure: isinf_downward (pseudo_zero): Exception "Invalid operation" set Failure: isinf_downward (pseudo_inf): Exception "Invalid operation" set Failure: isinf_downward (pseudo_qnan): Exception "Invalid operation" set Failure: isinf_downward (pseudo_snan): Exception "Invalid operation" set Failure: isinf_downward (pseudo_unnormal): Exception "Invalid operation" set Failure: isinf_towardzero (pseudo_zero): Exception "Invalid operation" set Failure: isinf_towardzero (pseudo_inf): Exception "Invalid operation" set Failure: isinf_towardzero (pseudo_qnan): Exception "Invalid operation" set Failure: isinf_towardzero (pseudo_snan): Exception "Invalid operation" set Failure: isinf_towardzero (pseudo_unnormal): Exception "Invalid operation" set Failure: isinf_upward (pseudo_zero): Exception "Invalid operation" set Failure: isinf_upward (pseudo_inf): Exception "Invalid operation" set Failure: isinf_upward (pseudo_qnan): Exception "Invalid operation" set Failure: isinf_upward (pseudo_snan): Exception "Invalid operation" set Failure: isinf_upward (pseudo_unnormal): Exception "Invalid operation" set
This commit is contained in:
parent
c92cb4f094
commit
b0faad30d4
|
|
@ -1163,7 +1163,8 @@ enum
|
||||||
(__builtin_types_compatible_p (__typeof (x), _Float128) \
|
(__builtin_types_compatible_p (__typeof (x), _Float128) \
|
||||||
? __isinff128 (x) : __builtin_isinf_sign (x))
|
? __isinff128 (x) : __builtin_isinf_sign (x))
|
||||||
# elif (__GNUC_PREREQ (4,4) && !defined __SUPPORT_SNAN__) \
|
# elif (__GNUC_PREREQ (4,4) && !defined __SUPPORT_SNAN__) \
|
||||||
|| __glibc_clang_prereq (3,7)
|
|| __glibc_clang_prereq (3,7) \
|
||||||
|
&& __FP_BUILTIN_DENORMAL
|
||||||
# define isinf(x) __builtin_isinf_sign (x)
|
# define isinf(x) __builtin_isinf_sign (x)
|
||||||
# else
|
# else
|
||||||
# define isinf(x) __MATH_TG ((x), __isinf, (x))
|
# define isinf(x) __MATH_TG ((x), __isinf, (x))
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue