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.
This commit is contained in:
Steve Ellcey 2015-08-27 08:09:49 -07:00
parent ae857215dd
commit 37430363b8
4 changed files with 53 additions and 33 deletions

View File

@ -1,3 +1,11 @@
2015-08-27 Steve Ellcey <sellcey@imgtec.com>
* 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.
2015-08-27 H.J. Lu <hongjiu.lu@intel.com> 2015-08-27 H.J. Lu <hongjiu.lu@intel.com>
* sysdeps/i386/i586/Implies: Removed. * sysdeps/i386/i586/Implies: Removed.

View File

@ -26,6 +26,19 @@
<http://www.gnu.org/licenses/>. */ <http://www.gnu.org/licenses/>. */
#include <libc-internal.h> #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 <math.h>
#include "soft-fp.h" #include "soft-fp.h"
#include "double.h" #include "double.h"
@ -45,22 +58,13 @@ __fma (double a, double b, double c)
FP_UNPACK_D (B, b); FP_UNPACK_D (B, b);
FP_UNPACK_D (C, c); FP_UNPACK_D (C, c);
FP_FMA_D (R, A, B, 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); FP_PACK_D (r, R);
DIAG_POP_NEEDS_COMMENT;
FP_HANDLE_EXCEPTIONS; FP_HANDLE_EXCEPTIONS;
return r; return r;
} }
DIAG_POP_NEEDS_COMMENT;
#ifndef __fma #ifndef __fma
weak_alias (__fma, fma) weak_alias (__fma, fma)
#endif #endif

View File

@ -26,6 +26,19 @@
<http://www.gnu.org/licenses/>. */ <http://www.gnu.org/licenses/>. */
#include <libc-internal.h> #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 <math.h>
#include "soft-fp.h" #include "soft-fp.h"
#include "single.h" #include "single.h"
@ -45,22 +58,13 @@ __fmaf (float a, float b, float c)
FP_UNPACK_S (B, b); FP_UNPACK_S (B, b);
FP_UNPACK_S (C, c); FP_UNPACK_S (C, c);
FP_FMA_S (R, A, B, C); FP_FMA_S (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_S (r, R); FP_PACK_S (r, R);
DIAG_POP_NEEDS_COMMENT;
FP_HANDLE_EXCEPTIONS; FP_HANDLE_EXCEPTIONS;
return r; return r;
} }
DIAG_POP_NEEDS_COMMENT;
#ifndef __fmaf #ifndef __fmaf
weak_alias (__fmaf, fmaf) weak_alias (__fmaf, fmaf)
#endif #endif

View File

@ -26,6 +26,19 @@
<http://www.gnu.org/licenses/>. */ <http://www.gnu.org/licenses/>. */
#include <libc-internal.h> #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 <math.h>
#include "soft-fp.h" #include "soft-fp.h"
#include "quad.h" #include "quad.h"
@ -45,20 +58,11 @@ __fmal (long double a, long double b, long double c)
FP_UNPACK_Q (B, b); FP_UNPACK_Q (B, b);
FP_UNPACK_Q (C, c); FP_UNPACK_Q (C, c);
FP_FMA_Q (R, A, B, C); FP_FMA_Q (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_Q (r, R); FP_PACK_Q (r, R);
DIAG_POP_NEEDS_COMMENT;
FP_HANDLE_EXCEPTIONS; FP_HANDLE_EXCEPTIONS;
return r; return r;
} }
DIAG_POP_NEEDS_COMMENT;
weak_alias (__fmal, fmal) weak_alias (__fmal, fmal)