diff options
Diffstat (limited to 'sysdeps/ieee754/ldbl-96/e_lgammal_r.c')
-rw-r--r-- | sysdeps/ieee754/ldbl-96/e_lgammal_r.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/sysdeps/ieee754/ldbl-96/e_lgammal_r.c b/sysdeps/ieee754/ldbl-96/e_lgammal_r.c index 1a95f846ae..0cc35f9252 100644 --- a/sysdeps/ieee754/ldbl-96/e_lgammal_r.c +++ b/sysdeps/ieee754/ldbl-96/e_lgammal_r.c @@ -91,6 +91,7 @@ * */ +#include <libc-internal.h> #include <math.h> #include <math_private.h> @@ -423,8 +424,18 @@ __ieee754_lgammal_r (long double x, int *signgamp) else /* 2**66 <= x <= inf */ r = x * (__ieee754_logl (x) - one); + /* NADJ is set for negative arguments but not otherwise, resulting + 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; return r; } strong_alias (__ieee754_lgammal_r, __lgammal_r_finite) |