[Bug tree-optimization/65627] New: missed warning with -Waggressive-loop-optimizations
bonzini at gnu dot org
gcc-bugzilla@gcc.gnu.org
Mon Mar 30 13:25:00 GMT 2015
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65627
Bug ID: 65627
Summary: missed warning with -Waggressive-loop-optimizations
Product: gcc
Version: 5.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: tree-optimization
Assignee: unassigned at gcc dot gnu.org
Reporter: bonzini at gnu dot org
Version: gcc (GCC) 5.0.0 20150319 (Red Hat 5.0.0-0.21)
The following program does not warn with -Waggressive-loop-optimizations:
int a[4] = {1, 2, 3, 4};
int main()
{
int i, j = 1234;
for (i = 0; i < 4; j = a[++i]) {
if (j == 6)
return 1;
}
return 0;
}
The testcase returns 0 with -O0 or -O2 -fno-aggressive-loop-optimizations.
It returns 1 (in fact it's compiled to "return 1;" with -O2.
Expected: "iteration 4 invokes undefined behavior".
The optimization happens in cunrolli.
More information about the Gcc-bugs
mailing list