summaryrefslogtreecommitdiff
path: root/sysdeps/ieee754/ldbl-96/e_lgammal_r.c
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/ieee754/ldbl-96/e_lgammal_r.c')
-rw-r--r--sysdeps/ieee754/ldbl-96/e_lgammal_r.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/sysdeps/ieee754/ldbl-96/e_lgammal_r.c b/sysdeps/ieee754/ldbl-96/e_lgammal_r.c
index 0cc35f9252..9862fe8d5c 100644
--- a/sysdeps/ieee754/ldbl-96/e_lgammal_r.c
+++ b/sysdeps/ieee754/ldbl-96/e_lgammal_r.c
@@ -306,6 +306,8 @@ __ieee754_lgammal_r (long double x, int *signgamp)
}
if (se & 0x8000)
{
+ if (x < -2.0L && x > -33.0L)
+ return __lgamma_negl (x, signgamp);
t = sin_pi (x);
if (t == zero)
return one / fabsl (t); /* -integer */
@@ -428,11 +430,7 @@ __ieee754_lgammal_r (long double x, int *signgamp)
in warnings that it may be used uninitialized although in the
cases where it is used it has always been set. */
DIAG_PUSH_NEEDS_COMMENT;
-#if __GNUC_PREREQ (4, 7)
DIAG_IGNORE_NEEDS_COMMENT (4.9, "-Wmaybe-uninitialized");
-#else
- DIAG_IGNORE_NEEDS_COMMENT (4.9, "-Wuninitialized");
-#endif
if (se & 0x8000)
r = nadj - r;
DIAG_POP_NEEDS_COMMENT;