This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Don't use -Wno-uninitialized in math/


On Wed, 2015-08-26 at 22:15 +0000, Joseph Myers wrote:
> On Wed, 26 Aug 2015, Steve Ellcey wrote:
> 
> > I tried moving the diag/ignore to just after the include of
> > libc-internal.h and I got errors about __GNUC_PREREQ not being defined.
> > If I put the diag/ignore's after the include of math.h (and
> > libc-internal.h) then things seemed to work.  Any idea why I need to
> > include math.h to get __GNUC_PREREQ defined?
> 
> Public headers include <features.h>.  Internal headers don't necessarily 
> do so.
> 

I am testing this patch on MIPS and it looks good so far (still building
different ABI's).  OK to check it in if everything looks good on MIPS?
I left the DIAG_POP macros in even though they aren't really needed.

Steve Ellcey
sellcey@imgtec.com


2015-08-26  Steve Ellcey  <sellcey@imgtec.com>

	* soft-fp/fmasf4.c: Add include of features.h.
	Move DIAG_PUSH_NEEDS_COMMENT, DIAG_IGNORE_NEEDS_COMMENT to front of
	file, move DIAG_POP_NEEDS_COMMENT to end of file.
	* soft-fp/fmadf4.c: Ditto.
	* soft-fp/fmatf4.c: Ditto.


diff --git a/soft-fp/fmadf4.c b/soft-fp/fmadf4.c
index da6749d..89dae52 100644
--- a/soft-fp/fmadf4.c
+++ b/soft-fp/fmadf4.c
@@ -26,6 +26,13 @@
    <http://www.gnu.org/licenses/>.  */
 
 #include <libc-internal.h>
+#include <features.h>
+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"
@@ -49,18 +56,13 @@ __fma (double a, double b, double c)
      compiler does not see that it is set in all cases where it is
      used, resulting in warnings that it may be used
      uninitialized.  */
-  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
   FP_PACK_D (r, R);
-  DIAG_POP_NEEDS_COMMENT;
   FP_HANDLE_EXCEPTIONS;
 
   return r;
 }
+DIAG_POP_NEEDS_COMMENT;
+
 #ifndef __fma
 weak_alias (__fma, fma)
 #endif
diff --git a/soft-fp/fmasf4.c b/soft-fp/fmasf4.c
index b770a07..fcd913a 100644
--- a/soft-fp/fmasf4.c
+++ b/soft-fp/fmasf4.c
@@ -26,6 +26,13 @@
    <http://www.gnu.org/licenses/>.  */
 
 #include <libc-internal.h>
+#include <features.h>
+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"
@@ -49,18 +56,13 @@ __fmaf (float a, float b, float c)
      compiler does not see that it is set in all cases where it is
      used, resulting in warnings that it may be used
      uninitialized.  */
-  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
   FP_PACK_S (r, R);
-  DIAG_POP_NEEDS_COMMENT;
   FP_HANDLE_EXCEPTIONS;
 
   return r;
 }
+DIAG_POP_NEEDS_COMMENT;
+
 #ifndef __fmaf
 weak_alias (__fmaf, fmaf)
 #endif
diff --git a/soft-fp/fmatf4.c b/soft-fp/fmatf4.c
index 880961c..16df6d1 100644
--- a/soft-fp/fmatf4.c
+++ b/soft-fp/fmatf4.c
@@ -26,6 +26,13 @@
    <http://www.gnu.org/licenses/>.  */
 
 #include <libc-internal.h>
+#include <features.h>
+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"
@@ -49,16 +56,11 @@ __fmal (long double a, long double b, long double c)
      compiler does not see that it is set in all cases where it is
      used, resulting in warnings that it may be used
      uninitialized.  */
-  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
   FP_PACK_Q (r, R);
-  DIAG_POP_NEEDS_COMMENT;
   FP_HANDLE_EXCEPTIONS;
 
   return r;
 }
+DIAG_POP_NEEDS_COMMENT;
+
 weak_alias (__fmal, fmal)



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]