diff options
author | Gabriel F. T. Gomes <gftg@linux.vnet.ibm.com> | 2017-08-23 10:16:54 -0300 |
---|---|---|
committer | Gabriel F. T. Gomes <gftg@linux.vnet.ibm.com> | 2017-08-29 10:32:34 -0300 |
commit | 35dded99a89db873b06270ca7f21245a0faf712a (patch) | |
tree | 0f4164bb571db4778b421d72ef4b5aa68ce0d0e9 /math | |
parent | ef8566d72af5e03c1b82cf02efb794268a347f8c (diff) | |
download | glibc-35dded99a89db873b06270ca7f21245a0faf712a.tar.gz |
Fix the C++ version of issignaling when __NO_LONG_DOUBLE_MATH is defined
When __NO_LONG_DOUBLE_MATH is defined, __issignalingl is not available,
thus issignaling with long double argument should call __issignaling,
instead.
Tested for powerpc64le.
* math/math.h [defined __cplusplus] (issignaling): In the long
double case, call __issignalingl only if __NO_LONG_DOUBLE_MATH
is not defined. Call __issignaling, otherwise.
(cherry picked from commit 3d7b66f66cb223e899a7ebc0f4c20f13e711c9e0)
Diffstat (limited to 'math')
-rw-r--r-- | math/math.h | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/math/math.h b/math/math.h index add86af724..60dfa31592 100644 --- a/math/math.h +++ b/math/math.h @@ -486,7 +486,15 @@ enum extern "C++" { inline int issignaling (float __val) { return __issignalingf (__val); } inline int issignaling (double __val) { return __issignaling (__val); } -inline int issignaling (long double __val) { return __issignalingl (__val); } +inline int +issignaling (long double __val) +{ +# ifdef __NO_LONG_DOUBLE_MATH + return __issignaling (__val); +# else + return __issignalingl (__val); +# endif +} # if __HAVE_DISTINCT_FLOAT128 inline int issignaling (_Float128 __val) { return __issignalingf128 (__val); } # endif |