From 37430363b865f2423bd58b4f0eaa779845ed7e71 Mon Sep 17 00:00:00 2001 From: Steve Ellcey Date: Thu, 27 Aug 2015 08:09:49 -0700 Subject: 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. --- soft-fp/fmadf4.c | 26 +++++++++++++++----------- soft-fp/fmasf4.c | 26 +++++++++++++++----------- soft-fp/fmatf4.c | 26 +++++++++++++++----------- 3 files changed, 45 insertions(+), 33 deletions(-) (limited to 'soft-fp') 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 @@ . */ #include +#include +/* 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 #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 diff --git a/soft-fp/fmasf4.c b/soft-fp/fmasf4.c index b770a0719f..359d49cdd9 100644 --- a/soft-fp/fmasf4.c +++ b/soft-fp/fmasf4.c @@ -26,6 +26,19 @@ . */ #include +#include +/* 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 #include "soft-fp.h" #include "single.h" @@ -45,22 +58,13 @@ __fmaf (float a, float b, float c) FP_UNPACK_S (B, b); FP_UNPACK_S (C, 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); - 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 880961cfd1..9c99303e48 100644 --- a/soft-fp/fmatf4.c +++ b/soft-fp/fmatf4.c @@ -26,6 +26,19 @@ . */ #include +#include +/* 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 #include "soft-fp.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 (C, 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); - DIAG_POP_NEEDS_COMMENT; FP_HANDLE_EXCEPTIONS; return r; } +DIAG_POP_NEEDS_COMMENT; + weak_alias (__fmal, fmal) -- cgit v1.2.3