about summary refs log tree commit diff
path: root/sysdeps/ieee754/flt-32
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/ieee754/flt-32')
-rw-r--r--sysdeps/ieee754/flt-32/k_rem_pio2f.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/sysdeps/ieee754/flt-32/k_rem_pio2f.c b/sysdeps/ieee754/flt-32/k_rem_pio2f.c
index fdf2b5da2c..ea4915b765 100644
--- a/sysdeps/ieee754/flt-32/k_rem_pio2f.c
+++ b/sysdeps/ieee754/flt-32/k_rem_pio2f.c
@@ -183,7 +183,17 @@ recompute:
 		float fv = 0.0;
 		for (i=jz;i>=0;i--) fv = math_narrow_eval (fv + fq[i]);
 		y[0] = (ih==0)? fv: -fv;
+		/* GCC mainline (to be GCC 9), as of 2018-05-22 on
+		   i686, warns that fq[0] may be used uninitialized.
+		   This is not possible because jz is always
+		   nonnegative when the above loop initializing fq is
+		   executed, because the result is never zero to full
+		   precision (this function is not called for zero
+		   arguments).  */
+		DIAG_PUSH_NEEDS_COMMENT;
+		DIAG_IGNORE_NEEDS_COMMENT (9, "-Wmaybe-uninitialized");
 		fv = math_narrow_eval (fq[0]-fv);
+		DIAG_POP_NEEDS_COMMENT;
 		for (i=1;i<=jz;i++) fv = math_narrow_eval (fv + fq[i]);
 		y[1] = (ih==0)? fv: -fv;
 		break;