The following testcase produces an ICE. I couldn't reduce it any further. Fails with GCC 4.2.2/4.2.3 under i686-pc-linux-gnu/i686-pc-mingw32.
#include <tr1/array> #include <tr1/memory> int main() { typedef std::tr1::array<std::tr1::shared_ptr<int>, 1> Array; Array array; for (Array::iterator iter(array.begin());;) { try { (iter++)->reset(new int); } catch (...) {} } } g++ -O test.cpp test.cpp: In function 'int main()': test.cpp:3: internal compiler error: in coalesce_abnormal_edges, at tree-outof-ssa.c:643 -- Summary: ICE in coalesce_abnormal_edges Product: gcc Version: 4.2.3 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: gcc at david dot osborn dot name http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35182