aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/ieee754
diff options
context:
space:
mode:
authorAdhemerval Zanella <adhemerval.zanella@linaro.org>2022-12-29 09:58:02 -0300
committerAdhemerval Zanella <adhemerval.zanella@linaro.org>2023-01-11 17:50:51 -0300
commit30546ac2d1d64adff07d317e3041ec0fc6e32f6d (patch)
tree4c0a3cb621b8326a1255c1c2beb9fd7e70272314 /sysdeps/ieee754
parent8176efe3cabeee003f193f6b877297bf5aee8eb6 (diff)
downloadglibc-30546ac2d1d64adff07d317e3041ec0fc6e32f6d.tar
glibc-30546ac2d1d64adff07d317e3041ec0fc6e32f6d.tar.gz
glibc-30546ac2d1d64adff07d317e3041ec0fc6e32f6d.tar.bz2
glibc-30546ac2d1d64adff07d317e3041ec0fc6e32f6d.zip
math: Suppress -O0 warnings for soft-fp fsqrt [BZ #19444]
The patch suppress the same warnings from 87c266d758d29e52bfb717f90, that shows issues for microblaze, mips soft-fp, nios2, and or1k. Reviewed-by: Carlos O'Donell <carlos@redhat.com>
Diffstat (limited to 'sysdeps/ieee754')
-rw-r--r--sysdeps/ieee754/soft-fp/s_fsqrt.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/sysdeps/ieee754/soft-fp/s_fsqrt.c b/sysdeps/ieee754/soft-fp/s_fsqrt.c
index 68f5146976..9fd3c839d4 100644
--- a/sysdeps/ieee754/soft-fp/s_fsqrt.c
+++ b/sysdeps/ieee754/soft-fp/s_fsqrt.c
@@ -25,6 +25,15 @@
#undef fsqrtl
#include <math-narrow.h>
+#include <libc-diag.h>
+/* R_f[01] are not set in cases where they are not used in packing,
+ but the compiler does not see that they are set in all cases where
+ they are used, resulting in warnings that they 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. This happens only with -O1. */
+DIAG_PUSH_NEEDS_COMMENT;
+DIAG_IGNORE_NEEDS_COMMENT (8, "-Wmaybe-uninitialized");
#include <soft-fp.h>
#include <single.h>
#include <double.h>
@@ -51,4 +60,6 @@ __fsqrt (double x)
CHECK_NARROW_SQRT (ret, x);
return ret;
}
+DIAG_POP_NEEDS_COMMENT;
+
libm_alias_float_double (sqrt)