mirror of
https://sourceware.org/git/glibc.git
synced 2024-12-23 19:30:10 +00:00
9124ccf76a
If you remove the "override CFLAGS += -Wno-uninitialized" in math/Makefile, you get errors from lgamma implementations of the form: ../sysdeps/ieee754/dbl-64/e_lgamma_r.c: In function '__ieee754_lgamma_r': ../sysdeps/ieee754/dbl-64/e_lgamma_r.c:297:13: error: 'nadj' may be used uninitialized in this function [-Werror=maybe-uninitialized] if(hx<0) r = nadj - r; This is one of the standard kinds of false positive uninitialized warnings: nadj is set under a certain condition, and then later used under the same condition. This patch uses DIAG_* macros to suppress the warning on the use of nadj. The ldbl-128 / ldbl-128ibm implementation has a substantially different structure that avoids this issue. Tested for x86_64. (In fact this patch eliminates the need for that -Wno-uninitialized on x86_64, but I want to test on more architectures before removing it.) * sysdeps/ieee754/dbl-64/e_lgamma_r.c: Include <libc-internal.h>. (__ieee754_lgamma_r): Ignore uninitialized warnings around use of NADJ. * sysdeps/ieee754/flt-32/e_lgammaf_r.c: Include <libc-internal.h>. (__ieee754_lgammaf_r): Ignore uninitialized warnings around use of NADJ. * sysdeps/ieee754/ldbl-96/e_lgammal_r.c: Include <libc-internal.h>. (__ieee754_lgammal_r): Ignore uninitialized warnings around use of NADJ. |
||
---|---|---|
.. | ||
e_acoshl.c | ||
e_asinl.c | ||
e_atanhl.c | ||
e_coshl.c | ||
e_gammal_r.c | ||
e_hypotl.c | ||
e_j0l.c | ||
e_j1l.c | ||
e_jnl.c | ||
e_lgammal_r.c | ||
e_rem_pio2l.c | ||
e_sinhl.c | ||
gamma_product.c | ||
gamma_productl.c | ||
k_cosl.c | ||
k_sinl.c | ||
k_tanl.c | ||
ldbl2mpn.c | ||
math_ldbl.h | ||
mpn2ldbl.c | ||
printf_fphex.c | ||
s_asinhl.c | ||
s_cbrtl.c | ||
s_copysignl.c | ||
s_cosl.c | ||
s_erfl.c | ||
s_fma.c | ||
s_fmal.c | ||
s_frexpl.c | ||
s_isinf_nsl.c | ||
s_issignalingl.c | ||
s_llrintl.c | ||
s_llroundl.c | ||
s_lrintl.c | ||
s_lroundl.c | ||
s_modfl.c | ||
s_nexttoward.c | ||
s_nexttowardf.c | ||
s_remquol.c | ||
s_roundl.c | ||
s_scalblnl.c | ||
s_signbitl.c | ||
s_sincosl.c | ||
s_sinl.c | ||
s_tanhl.c | ||
s_tanl.c | ||
strtold_l.c | ||
t_sincosl.c | ||
w_expl.c | ||
x2y2m1.c | ||
x2y2m1l.c |