about summary refs log tree commit diff
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2015-10-27 23:42:20 +0000
committerJoseph Myers <joseph@codesourcery.com>2015-10-27 23:42:20 +0000
commitf1d237df1eec1df8cbc34f95540fd4035776e79c (patch)
treeccd79a18978d87bc34c35d3b6609046eeadec7b5
parent678443ce179c30305be3a4a042abad2912c863d8 (diff)
downloadglibc-f1d237df1eec1df8cbc34f95540fd4035776e79c.tar.gz
glibc-f1d237df1eec1df8cbc34f95540fd4035776e79c.tar.xz
glibc-f1d237df1eec1df8cbc34f95540fd4035776e79c.zip
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.
-rw-r--r--ChangeLog40
-rw-r--r--resolv/res_send.c8
-rw-r--r--soft-fp/fmadf4.c4
-rw-r--r--soft-fp/fmasf4.c4
-rw-r--r--soft-fp/fmatf4.c4
-rw-r--r--stdlib/setenv.c6
-rw-r--r--sysdeps/ieee754/dbl-64/e_lgamma_r.c4
-rw-r--r--sysdeps/ieee754/flt-32/e_lgammaf_r.c4
-rw-r--r--sysdeps/ieee754/ldbl-128/k_tanl.c4
-rw-r--r--sysdeps/ieee754/ldbl-128ibm/k_tanl.c4
-rw-r--r--sysdeps/ieee754/ldbl-96/e_lgammal_r.c4
-rw-r--r--sysdeps/ieee754/ldbl-96/k_tanl.c4
12 files changed, 41 insertions, 49 deletions
diff --git a/ChangeLog b/ChangeLog
index c6404a6ef8..2f1292efdc 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,45 @@
 2015-10-27  Joseph Myers  <joseph@codesourcery.com>
 
+	* 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 6137e4d788..3550740ada 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 9330948c3b..fd915f4980 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 <math.h>
 #include "soft-fp.h"
 #include "double.h"
diff --git a/soft-fp/fmasf4.c b/soft-fp/fmasf4.c
index 359d49cdd9..9524913b13 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 <math.h>
 #include "soft-fp.h"
 #include "single.h"
diff --git a/soft-fp/fmatf4.c b/soft-fp/fmatf4.c
index 9c99303e48..ab805c2b52 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 <math.h>
 #include "soft-fp.h"
 #include "quad.h"
diff --git a/stdlib/setenv.c b/stdlib/setenv.c
index 4064a52651..3e68149ddf 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 <errno.h>
 #if !_LIBC
diff --git a/sysdeps/ieee754/dbl-64/e_lgamma_r.c b/sysdeps/ieee754/dbl-64/e_lgamma_r.c
index da158cba33..15154c0f43 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 45a62c0dab..4d8a66bb39 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 8ff9192947..6bb221e4a6 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 22e53fcc69..3c1bf32af9 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 a80002b48a..9862fe8d5c 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 6bee53e04a..0c050c112f 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;