[Bug tree-optimization/89296] [7/8/9 Regression] tree copy-header masking uninitialized warning
rguenth at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Mon Feb 18 08:56:00 GMT 2019
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89296
Richard Biener <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Priority|P3 |P2
Status|NEW |ASSIGNED
Assignee|kugan at gcc dot gnu.org |rguenth at gcc dot gnu.org
Target Milestone|--- |7.5
--- Comment #2 from Richard Biener <rguenth at gcc dot gnu.org> ---
This gimple_set_no_warning is guarded by
/* If the loop has the form "for (i = j; i < j + 10; i++)" then
this copying can introduce a case where we rely on undefined
signed overflow to eliminate the preheader condition, because
we assume that "j < j + 10" is true. We don't want to warn
about that case for -Wstrict-overflow, because in general we
don't warn about overflow involving loops. Prevent the
warning by setting the no_warning flag in the condition. */
if (warn_strict_overflow > 0)
{
so it only shows that the _no_warning stuff is too coarse (we know about that).
We can improve the above to non-equality compares, catching the case in
question.
More information about the Gcc-bugs
mailing list