about summary refs log tree commit diff
path: root/soft-fp/fmadf4.c
diff options
context:
space:
mode:
authorSteve Ellcey <sellcey@mips.com>2015-08-27 08:09:49 -0700
committerSteve Ellcey <sellcey@mips.com>2015-08-27 08:09:49 -0700
commit37430363b865f2423bd58b4f0eaa779845ed7e71 (patch)
tree500fbdc007669eb4bc624addea85bb57661e088a /soft-fp/fmadf4.c
parentae857215dd4e4a7ae100728c636622a7e4c8a322 (diff)
downloadglibc-37430363b865f2423bd58b4f0eaa779845ed7e71.tar.gz
glibc-37430363b865f2423bd58b4f0eaa779845ed7e71.tar.xz
glibc-37430363b865f2423bd58b4f0eaa779845ed7e71.zip
Fix undefined warning messages in GCC 6.
    GCC 6 puts out warnings in a different location then GCC 5.  Move the
    DIAG macros so that the warnings are supressed for both compilers.

    ChangeLog:

	* soft-fp/fmasf4.c: Add include of sys/cdefs.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.
Diffstat (limited to 'soft-fp/fmadf4.c')
-rw-r--r--soft-fp/fmadf4.c26
1 files changed, 15 insertions, 11 deletions
diff --git a/soft-fp/fmadf4.c b/soft-fp/fmadf4.c
index da6749d0ec..9330948c3b 100644
--- a/soft-fp/fmadf4.c
+++ b/soft-fp/fmadf4.c
@@ -26,6 +26,19 @@
    <http://www.gnu.org/licenses/>.  */
 
 #include <libc-internal.h>
+#include <sys/cdefs.h>
+/* R_e is not set in cases where it is not used in packing, but the
+   compiler does not see that it is set in all cases where it is
+   used, resulting in warnings that it may be used uninitialized.
+   The location of the warning differs in different versions of GCC,
+   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"
@@ -45,22 +58,13 @@ __fma (double a, double b, double c)
   FP_UNPACK_D (B, b);
   FP_UNPACK_D (C, c);
   FP_FMA_D (R, A, B, C);
-  /* R_e is not set in cases where it is not used in packing, but the
-     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