diff options
-rw-r--r-- | ChangeLog | 7 | ||||
-rw-r--r-- | soft-fp/fmadf4.c | 12 | ||||
-rw-r--r-- | soft-fp/fmasf4.c | 12 | ||||
-rw-r--r-- | soft-fp/fmatf4.c | 12 |
4 files changed, 43 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog index 159eb4ab6f..94945920de 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,12 @@ 2015-05-22 Joseph Myers <joseph@codesourcery.com> + * soft-fp/fmadf4.c: Include <libc-internal.h>. + (__fma): Ignore uninitialized warnings around packing. + * soft-fp/fmasf4.c: Include <libc-internal.h>. + (__fmaf): Ignore uninitialized warnings around packing. + * soft-fp/fmatf4.c: Include <libc-internal.h>. + (__fmal): Ignore uninitialized warnings around packing. + * sysdeps/ieee754/ldbl-128/k_tanl.c: Include <libc-internal.h>. (__kernel_tanl): Ignore uninitialized warnings around use of SIGN. * sysdeps/ieee754/ldbl-128ibm/k_tanl.c: Include <libc-internal.h>. diff --git a/soft-fp/fmadf4.c b/soft-fp/fmadf4.c index 1a720ba020..da6749d0ec 100644 --- a/soft-fp/fmadf4.c +++ b/soft-fp/fmadf4.c @@ -25,6 +25,7 @@ License along with the GNU C Library; if not, see <http://www.gnu.org/licenses/>. */ +#include <libc-internal.h> #include <math.h> #include "soft-fp.h" #include "double.h" @@ -44,7 +45,18 @@ __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; diff --git a/soft-fp/fmasf4.c b/soft-fp/fmasf4.c index 03855a36ff..b770a0719f 100644 --- a/soft-fp/fmasf4.c +++ b/soft-fp/fmasf4.c @@ -25,6 +25,7 @@ License along with the GNU C Library; if not, see <http://www.gnu.org/licenses/>. */ +#include <libc-internal.h> #include <math.h> #include "soft-fp.h" #include "single.h" @@ -44,7 +45,18 @@ __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; diff --git a/soft-fp/fmatf4.c b/soft-fp/fmatf4.c index 16fd74c046..880961cfd1 100644 --- a/soft-fp/fmatf4.c +++ b/soft-fp/fmatf4.c @@ -25,6 +25,7 @@ License along with the GNU C Library; if not, see <http://www.gnu.org/licenses/>. */ +#include <libc-internal.h> #include <math.h> #include "soft-fp.h" #include "quad.h" @@ -44,7 +45,18 @@ __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; |