When I compile the small program below using the actual snapshot (20050909) I get an ICE.
last working snapshot is gcc-4.1-20050723 first failing snapshot is gcc-4.1-20050730 Michael Cieslinski <file tc.cpp> extern int *F2 (void) __attribute__ ((__const__)); struct S1{}; struct S3; struct S2 { int F1 () { (*F2 ()) = 62; } }; struct S4 { S4(S1 &s1, S2 &s2, S3*& s3, int &i); S1 &P1; S2 &P2; int &P3; int &P4; S3 *&P5; S3 *P6; }; S4::S4 (S1 &s1, S2 &s2, S3*& s3, int &i) : P1(s1), P2(s2), P3(i), P4(i), P5(s3), P6() { while (this->P4 != 0) this->P2.F1 (); } g++41o -O2 -fsched-stalled-insns=5 -fsched2-use-superblocks -funroll-all-loops - S tc.cpp tc.cpp: In constructor 'S4::S4(S1&, S2&, S3*&, int&)': tc.cpp:29: error: too many outgoing branch edges from bb 8 tc.cpp:29: error: too many outgoing branch edges from bb 7 tc.cpp:29: error: too many outgoing branch edges from bb 6 tc.cpp:29: error: too many outgoing branch edges from bb 5 tc.cpp:29: error: too many outgoing branch edges from bb 4 tc.cpp:29: internal compiler error: verify_flow_info failed Please submit a full bug report, with preprocessed source if appropriate. g++41o -v Using built-in specs. Target: x86_64-unknown-linux-gnu Configured with: ../gcc-4.1-20050909/configure --prefix=/usr/local/gcc41o -- program-suffix=41o --with-arch=opteron --enable-languages=c,c++ --enable- checking Thread model: posix gcc version 4.1.0 20050909 (experimental) -- Summary: ICE: verify_flow_info failed - too many outgoing branch edges Product: gcc Version: 4.1.0 Status: UNCONFIRMED Severity: normal Priority: P2 Component: middle-end AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: micis at gmx dot de CC: gcc-bugs at gcc dot gnu dot org GCC build triplet: x86_64-unknown-linux-gnu GCC host triplet: x86_64-unknown-linux-gnu GCC target triplet: x86_64-unknown-linux-gnu http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23857