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.