summaryrefslogtreecommitdiffstats
path: root/newlib/libm/common/sl_finite.c
diff options
context:
space:
mode:
authorCorinna Vinschen <corinna@vinschen.de>2016-03-26 20:29:20 +0100
committerCorinna Vinschen <corinna@vinschen.de>2016-03-26 20:29:20 +0100
commit373f81d17c2ab1ab9a7b37c26c1ed067174a42e5 (patch)
tree41db6195353f839aad5ad3e3ad5b1b2593767102 /newlib/libm/common/sl_finite.c
parent3e446e9723428ed29c402d1b6ee297e5797b9750 (diff)
downloadcygnal-373f81d17c2ab1ab9a7b37c26c1ed067174a42e5.tar.gz
cygnal-373f81d17c2ab1ab9a7b37c26c1ed067174a42e5.tar.bz2
cygnal-373f81d17c2ab1ab9a7b37c26c1ed067174a42e5.zip
finitel: Use correct GCC builtin
__builtin_isinf_sign doesn't reflect the correct return value for NaN to emulate finite function. Use __builtin_isfinite instead whichg is available since GCC 4.4 just as __builtin_isinf_sign. * libm/common/sl_finite.c (finitel): Use __builtin_isfinite. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
Diffstat (limited to 'newlib/libm/common/sl_finite.c')
-rw-r--r--newlib/libm/common/sl_finite.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/newlib/libm/common/sl_finite.c b/newlib/libm/common/sl_finite.c
index 0c27b4fae..9ec629018 100644
--- a/newlib/libm/common/sl_finite.c
+++ b/newlib/libm/common/sl_finite.c
@@ -19,7 +19,7 @@ finitel (long double x)
Some architectures for example have an 80-bit long double whereas
others use 128-bits. We use macros and comiler builtin functions
to avoid specific knowledge of the long double format. */
- return __builtin_isinf_sign (x) == 0;
+ return __builtin_isfinite (x);
#endif
}