From: Joseph Myers Date: Tue, 27 Oct 2015 23:42:20 +0000 (+0000) Subject: Remove GCC version conditionals on -Wmaybe-uninitialized pragmas. X-Git-Tag: glibc-2.23~253 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f1d237df1eec1df8cbc34f95540fd4035776e79c;p=thirdparty%2Fglibc.git Remove GCC version conditionals on -Wmaybe-uninitialized pragmas. One common case of __GNUC_PREREQ (4, 7) conditionals is use of diagnostic control pragmas for -Wmaybe-uninitialized, an option introduced in GCC 4.7 where older GCC needed -Wuninitialized to be controlled instead if the warning appeared with older GCC. This patch removes such conditionals. (There remain several older uses of -Wno-uninitialized in makefiles that still need to be converted to diagnostic control pragmas if the issue is still present with current sources and supported GCC versions, and it's likely that in most cases those pragmas also will end up controlling -Wmaybe-uninitialized.) Tested for x86_64 and x86 (testsuite, and that installed stripped shared libraries are unchanged by the patch, except for libresolv since res_send.c contains assertions whose line numbers are changed by the patch). * resolv/res_send.c (send_vc) [__GNUC_PREREQ (4, 7)]: Make code unconditional. * soft-fp/fmadf4.c [__GNUC_PREREQ (4, 7)]: Likewise. [!__GNUC_PREREQ (4, 7)]: Remove conditional code. * soft-fp/fmasf4.c [__GNUC_PREREQ (4, 7)]: Make code unconditional. [!__GNUC_PREREQ (4, 7)]: Remove conditional code. * soft-fp/fmatf4.c [__GNUC_PREREQ (4, 7)]: Make code unconditional. [!__GNUC_PREREQ (4, 7)]: Remove conditional code. * stdlib/setenv.c [((__GNUC__ << 16) + __GNUC_MINOR__) >= ((4 << 16) + 7)]: Make code unconditional. [!(((__GNUC__ << 16) + __GNUC_MINOR__) >= ((4 << 16) + 7))]: Remove conditional code. * sysdeps/ieee754/dbl-64/e_lgamma_r.c (__ieee754_lgamma_r) [__GNUC_PREREQ (4, 7)]: Make code unconditional. (__ieee754_lgamma_r) [!__GNUC_PREREQ (4, 7)]: Remove conditional code. * sysdeps/ieee754/flt-32/e_lgammaf_r.c (__ieee754_lgammaf_r) [__GNUC_PREREQ (4, 7)]: Make code unconditional. (__ieee754_lgammaf_r) [!__GNUC_PREREQ (4, 7)]: Remove conditional code. * sysdeps/ieee754/ldbl-128/k_tanl.c (__kernel_tanl) [__GNUC_PREREQ (4, 7)]: Make code unconditional. (__kernel_tanl) [!__GNUC_PREREQ (4, 7)]: Remove conditional code. * sysdeps/ieee754/ldbl-128ibm/k_tanl.c (__kernel_tanl) [__GNUC_PREREQ (4, 7)]: Make code unconditional. (__kernel_tanl) [!__GNUC_PREREQ (4, 7)]: Remove conditional code. * sysdeps/ieee754/ldbl-96/e_lgammal_r.c (__ieee754_lgammal_r) [__GNUC_PREREQ (4, 7)]: Make code unconditional. (__ieee754_lgammal_r) [!__GNUC_PREREQ (4, 7)]: Remove conditional code. * sysdeps/ieee754/ldbl-96/k_tanl.c (__kernel_tanl) [__GNUC_PREREQ (4, 7)]: Make code unconditional. (__kernel_tanl) [!__GNUC_PREREQ (4, 7)]: Remove conditional code. --- diff --git a/ChangeLog b/ChangeLog index c6404a6ef8a..2f1292efdc7 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,45 @@ 2015-10-27 Joseph Myers + * resolv/res_send.c (send_vc) [__GNUC_PREREQ (4, 7)]: Make code + unconditional. + * soft-fp/fmadf4.c [__GNUC_PREREQ (4, 7)]: Likewise. + [!__GNUC_PREREQ (4, 7)]: Remove conditional code. + * soft-fp/fmasf4.c [__GNUC_PREREQ (4, 7)]: Make code + unconditional. + [!__GNUC_PREREQ (4, 7)]: Remove conditional code. + * soft-fp/fmatf4.c [__GNUC_PREREQ (4, 7)]: Make code + unconditional. + [!__GNUC_PREREQ (4, 7)]: Remove conditional code. + * stdlib/setenv.c + [((__GNUC__ << 16) + __GNUC_MINOR__) >= ((4 << 16) + 7)]: Make + code unconditional. + [!(((__GNUC__ << 16) + __GNUC_MINOR__) >= ((4 << 16) + 7))]: + Remove conditional code. + * sysdeps/ieee754/dbl-64/e_lgamma_r.c + (__ieee754_lgamma_r) [__GNUC_PREREQ (4, 7)]: Make code + unconditional. + (__ieee754_lgamma_r) [!__GNUC_PREREQ (4, 7)]: Remove conditional + code. + * sysdeps/ieee754/flt-32/e_lgammaf_r.c + (__ieee754_lgammaf_r) [__GNUC_PREREQ (4, 7)]: Make code + unconditional. + (__ieee754_lgammaf_r) [!__GNUC_PREREQ (4, 7)]: Remove conditional + code. + * sysdeps/ieee754/ldbl-128/k_tanl.c + (__kernel_tanl) [__GNUC_PREREQ (4, 7)]: Make code unconditional. + (__kernel_tanl) [!__GNUC_PREREQ (4, 7)]: Remove conditional code. + * sysdeps/ieee754/ldbl-128ibm/k_tanl.c + (__kernel_tanl) [__GNUC_PREREQ (4, 7)]: Make code unconditional. + (__kernel_tanl) [!__GNUC_PREREQ (4, 7)]: Remove conditional code. + * sysdeps/ieee754/ldbl-96/e_lgammal_r.c + (__ieee754_lgammal_r) [__GNUC_PREREQ (4, 7)]: Make code + unconditional. + (__ieee754_lgammal_r) [!__GNUC_PREREQ (4, 7)]: Remove conditional + code. + * sysdeps/ieee754/ldbl-96/k_tanl.c + (__kernel_tanl) [__GNUC_PREREQ (4, 7)]: Make code unconditional. + (__kernel_tanl) [!__GNUC_PREREQ (4, 7)]: Remove conditional code. + * nptl/tst-initializers1-c11.c: New file. * nptl/tst-initializers1-gnu11.c: Likewise. * nptl/Makefile (tests): Add these new tests. diff --git a/resolv/res_send.c b/resolv/res_send.c index 6137e4d7889..3550740ada0 100644 --- a/resolv/res_send.c +++ b/resolv/res_send.c @@ -655,14 +655,10 @@ send_vc(res_state statp, times round the loop resplen has been initialized. So this is a false-positive. */ -#if __GNUC_PREREQ (4, 7) DIAG_PUSH_NEEDS_COMMENT; DIAG_IGNORE_NEEDS_COMMENT (5, "-Wmaybe-uninitialized"); -#endif int resplen; -#if __GNUC_PREREQ (4, 7) DIAG_POP_NEEDS_COMMENT; -#endif struct iovec iov[4]; u_short len; u_short len2; @@ -780,10 +776,8 @@ send_vc(res_state statp, /* No buffer allocated for the first reply. We can try to use the rest of the user-provided buffer. */ -#if __GNUC_PREREQ (4, 7) DIAG_PUSH_NEEDS_COMMENT; DIAG_IGNORE_NEEDS_COMMENT (5, "-Wmaybe-uninitialized"); -#endif #if _STRING_ARCH_unaligned *anssizp2 = orig_anssizp - resplen; *ansp2 = *ansp + resplen; @@ -794,9 +788,7 @@ send_vc(res_state statp, *anssizp2 = orig_anssizp - aligned_resplen; *ansp2 = *ansp + aligned_resplen; #endif -#if __GNUC_PREREQ (4, 7) DIAG_POP_NEEDS_COMMENT; -#endif } else { /* The first reply did not fit into the user-provided buffer. Maybe the second diff --git a/soft-fp/fmadf4.c b/soft-fp/fmadf4.c index 9330948c3b0..fd915f49801 100644 --- a/soft-fp/fmadf4.c +++ b/soft-fp/fmadf4.c @@ -34,11 +34,7 @@ it may be where R is defined using a macro or it may be where the macro is defined. */ 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 #include #include "soft-fp.h" #include "double.h" diff --git a/soft-fp/fmasf4.c b/soft-fp/fmasf4.c index 359d49cdd92..9524913b131 100644 --- a/soft-fp/fmasf4.c +++ b/soft-fp/fmasf4.c @@ -34,11 +34,7 @@ it may be where R is defined using a macro or it may be where the macro is defined. */ 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 #include #include "soft-fp.h" #include "single.h" diff --git a/soft-fp/fmatf4.c b/soft-fp/fmatf4.c index 9c99303e489..ab805c2b52f 100644 --- a/soft-fp/fmatf4.c +++ b/soft-fp/fmatf4.c @@ -34,11 +34,7 @@ it may be where R is defined using a macro or it may be where the macro is defined. */ 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 #include #include "soft-fp.h" #include "quad.h" diff --git a/stdlib/setenv.c b/stdlib/setenv.c index 4064a526510..3e68149ddfb 100644 --- a/stdlib/setenv.c +++ b/stdlib/setenv.c @@ -24,11 +24,7 @@ there seems to be no way to pacify GCC selectively, only for the place where it's needed. Do not use DIAG_IGNORE_NEEDS_COMMENT here, as it's not defined yet. */ -#if ((__GNUC__ << 16) + __GNUC_MINOR__) >= ((4 << 16) + 7) -# pragma GCC diagnostic ignored "-Wmaybe-uninitialized" -#else -# pragma GCC diagnostic ignored "-Wuninitialized" -#endif +#pragma GCC diagnostic ignored "-Wmaybe-uninitialized" #include #if !_LIBC diff --git a/sysdeps/ieee754/dbl-64/e_lgamma_r.c b/sysdeps/ieee754/dbl-64/e_lgamma_r.c index da158cba336..15154c0f431 100644 --- a/sysdeps/ieee754/dbl-64/e_lgamma_r.c +++ b/sysdeps/ieee754/dbl-64/e_lgamma_r.c @@ -302,11 +302,7 @@ __ieee754_lgamma_r(double x, int *signgamp) 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(hx<0) r = nadj - r; DIAG_POP_NEEDS_COMMENT; return r; diff --git a/sysdeps/ieee754/flt-32/e_lgammaf_r.c b/sysdeps/ieee754/flt-32/e_lgammaf_r.c index 45a62c0dabd..4d8a66bb394 100644 --- a/sysdeps/ieee754/flt-32/e_lgammaf_r.c +++ b/sysdeps/ieee754/flt-32/e_lgammaf_r.c @@ -238,11 +238,7 @@ __ieee754_lgammaf_r(float x, int *signgamp) 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(hx<0) r = nadj - r; DIAG_POP_NEEDS_COMMENT; return r; diff --git a/sysdeps/ieee754/ldbl-128/k_tanl.c b/sysdeps/ieee754/ldbl-128/k_tanl.c index 8ff9192947b..6bb221e4a67 100644 --- a/sysdeps/ieee754/ldbl-128/k_tanl.c +++ b/sysdeps/ieee754/ldbl-128/k_tanl.c @@ -141,11 +141,7 @@ __kernel_tanl (long double x, long double y, int iy) 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 (5, "-Wmaybe-uninitialized"); -#else - DIAG_IGNORE_NEEDS_COMMENT (5, "-Wuninitialized"); -#endif if (sign < 0) w = -w; DIAG_POP_NEEDS_COMMENT; diff --git a/sysdeps/ieee754/ldbl-128ibm/k_tanl.c b/sysdeps/ieee754/ldbl-128ibm/k_tanl.c index 22e53fcc69c..3c1bf32af95 100644 --- a/sysdeps/ieee754/ldbl-128ibm/k_tanl.c +++ b/sysdeps/ieee754/ldbl-128ibm/k_tanl.c @@ -141,11 +141,7 @@ __kernel_tanl (long double x, long double y, int iy) 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 (5, "-Wmaybe-uninitialized"); -#else - DIAG_IGNORE_NEEDS_COMMENT (5, "-Wuninitialized"); -#endif if (sign < 0) w = -w; DIAG_POP_NEEDS_COMMENT; diff --git a/sysdeps/ieee754/ldbl-96/e_lgammal_r.c b/sysdeps/ieee754/ldbl-96/e_lgammal_r.c index a80002b48a5..9862fe8d5c4 100644 --- a/sysdeps/ieee754/ldbl-96/e_lgammal_r.c +++ b/sysdeps/ieee754/ldbl-96/e_lgammal_r.c @@ -430,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; diff --git a/sysdeps/ieee754/ldbl-96/k_tanl.c b/sysdeps/ieee754/ldbl-96/k_tanl.c index 6bee53e04ad..0c050c112f2 100644 --- a/sysdeps/ieee754/ldbl-96/k_tanl.c +++ b/sysdeps/ieee754/ldbl-96/k_tanl.c @@ -138,11 +138,7 @@ __kernel_tanl (long double x, long double y, int iy) 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.8, "-Wmaybe-uninitialized"); -#else - DIAG_IGNORE_NEEDS_COMMENT (4.8, "-Wuninitialized"); -#endif if (sign < 0) w = -w; DIAG_POP_NEEDS_COMMENT;