I get the following ICE with gcc 4.2. This is a regression from 4.0 and 4.1.
(sid)17:[EMAIL PROTECTED]: ~] /usr/lib/gcc-snapshot/bin/gcc -c -O2 mini.c mini.c: In function 'GetCmd': mini.c:23: error: wrong amount of branch edges after unconditional jump 2 mini.c:23: internal compiler error: verify_flow_info failed Please submit a full bug report, with preprocessed source if appropriate. See <URL:http://gcc.gnu.org/bugs.html> for instructions. zsh: exit 1 /usr/lib/gcc-snapshot/bin/gcc -c -O2 mini.c (sid)18:[EMAIL PROTECTED]: ~] /usr/lib/gcc-snapshot/bin/gcc -c -O1 mini.c (sid)19:[EMAIL PROTECTED]: ~] gcc-4.1 -c -O2 mini.c (sid)20:[EMAIL PROTECTED]: ~] gcc-4.0 -c -O2 mini.c (sid)21:[EMAIL PROTECTED]: ~] cat mini.c short GetCmd () { int c, c1; for (c = 255; c == 255;) { c = GetMouseButton (); if (c >= 0) { c = ParsePos (c, -1, 0); c1 = ParsePos (c1, c, 1); if (c == c1 && (c >= 0 || c == -10)) { return c; } if (c >= 0 && c1 == -12) { return ((((((10) + 1) + 1)) + 1) << 7) | c; } c = 255; } } } -- Summary: [4.2 regression] verify_flow_info failed (wrong amount of branch edges after unconditional jump 2) Product: gcc Version: 4.2.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: rtl-optimization AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: tbm at cyrius dot com http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28121