Using GCC 4.1 mainline checkout at 20050607.

$ ./i686-linux/gcc/xgcc -B ./i686-linux/gcc -S bug1.c -O1
bug1.c: In function ‘foo’:
bug1.c:2: error: Incorrect sharing of tree nodes
D.1290_47 = (charD.1 * *) pD.1236_3;

(charD.1 * *) pD.1236_3;

bug1.c:2: internal compiler error: verify_stmts failed.
Please submit a full bug report,


I've narrowed down a testcase to:

void foo (char *p)
{
  char *endptr = p;
  while (1)
    {
      int i = 1;
      char **members;

      if (p[1])
        {
          do {
            if (*p == ',')
              {
                i++;
                *p = 0;
              }
          } while (*++p);
        }

      members = (char **) p;
      if (--i)
        {
          p = endptr;
          do {
            *members++ = ++p;
            if (!--i)
              break;
            while (*++p) {}
          } while (1);
        }
      *members = 0;
    }
}

-- 
           Summary: verify_stmts reports tree node sharing assertion
           Product: gcc
           Version: 4.1.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P2
         Component: c
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: nick at sqrt dot co dot uk
                CC: gcc-bugs at gcc dot gnu dot org
 GCC build triplet: i686-pc-linux-gnu
  GCC host triplet: i686-pc-linux-gnu
GCC target triplet: i686-pc-linux-gnu


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21958

Reply via email to