From: Joseph Myers Date: Thu, 9 Jun 2016 17:24:52 +0000 (+0000) Subject: Fix ldbl-128ibm expm1l (sNaN) (bug 20233). X-Git-Tag: glibc-2.24~129 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f8fc4b44942238dec3228c4e4d77553da2b3ec39;p=thirdparty%2Fglibc.git Fix ldbl-128ibm expm1l (sNaN) (bug 20233). The ldbl-128ibm version of expm1l returns sNaN for sNaN input. This patch fixes it to add such inputs to themselves so that qNaN is returned in this case. Tested for powerpc. [BZ #20233] * sysdeps/ieee754/ldbl-128ibm/s_expm1l.c (__expm1l): Add NaN input to itself. --- diff --git a/ChangeLog b/ChangeLog index 2d88f74d6b7..6944ac57ec6 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,9 @@ 2016-06-09 Joseph Myers + [BZ #20233] + * sysdeps/ieee754/ldbl-128ibm/s_expm1l.c (__expm1l): Add NaN input + to itself. + [BZ #20232] * sysdeps/ieee754/ldbl-128/s_expm1l.c (__expm1l): Add NaN input to itself. diff --git a/sysdeps/ieee754/ldbl-128ibm/s_expm1l.c b/sysdeps/ieee754/ldbl-128ibm/s_expm1l.c index 66f75e1c803..42d57c6eec2 100644 --- a/sysdeps/ieee754/ldbl-128ibm/s_expm1l.c +++ b/sysdeps/ieee754/ldbl-128ibm/s_expm1l.c @@ -106,8 +106,8 @@ __expm1l (long double x) /* Infinity (which must be negative infinity). */ if (((ix - 0x7ff00000) | lx) == 0) return -1.0L; - /* NaN. No invalid exception. */ - return x; + /* NaN. Invalid exception if signaling. */ + return x + x; } /* expm1(+- 0) = +- 0. */