Don't use -Wno-uninitialized in math/
Steve Ellcey
sellcey@imgtec.com
Wed Aug 26 22:40:00 GMT 2015
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)
More information about the Libc-alpha
mailing list