https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77454
Bug ID: 77454
Summary: [7 Regression] IMM ERROR w/ -O2 and above
Product: gcc
Version: 7.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: tree-optimization
Assignee: unassigned at gcc dot gnu.org
Reporter: asolokha at gmx dot com
Target Milestone: ---
gcc-7.0.0-alpha20160828 prints out IMM error when compiling the following
reduced snippet:
void
oo (unsigned char co, char fc)
{
while (co != 0)
{
unsigned char *z4 = &co;
int q3;
if (fc != 0)
z4 = (unsigned char *)&fc;
else if (fc + 1 != 0)
z4 = (unsigned char *)&fc;
for (co = 0; co < 1; ++co)
q3 = 0;
for (fc = 0; fc < 3; ++fc)
{
fc = !!fc;
if (fc != 0)
co = fc;
}
if ((q3 != 0 ? -1 : *z4) < (fc = q3))
q3 = 1;
}
}
% x86_64-pc-linux-gnu-gcc-7.0.0-alpha20160828 -O2 -c lzfl5bs8.c
IMM ERROR : (use_p : tree - 0x39cdca962b8:0x39cdca91440)0
Despite this error, it compiles the snippet successfully and generates correct
code.
I get this error from time to time w/ different targets for the last several
weeks at least. However, it's the first file that I got which is way smaller
then 100 kB.