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