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.

Reply via email to