iq[jz] = (int32_t) z;
}
+ /* jz is always nonnegative here, because the result is never zero to
+ full precision (this function is not called for zero arguments).
+ Help the compiler to know it. */
+ if (jz < 0) __builtin_unreachable ();
+
/* convert integer "bit" chunk to floating-point value */
fw = __scalbn (one, q0);
for (i = jz; i >= 0; i--)
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;