This might be related to #35828, but I don't have time to check their sample code. But don't flame me, I have already spent some productive time and managed to strip 2000+ lines of code into only 13.
g++ -std=c++0x bug.cc GNU C++ (GCC) version 4.4.0 20081124 (experimental) (i686-pc-linux-gnu) compiled by GNU C version 4.4.0 20081124 (experimental), GMP version 4.2.2, MPFR version 2.3.1. GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096 Compiler executable checksum: e8678982a640502ce11e7866db86e867 bug.cc: In instantiation of problem<Bar<Foo<int>, Foo<> >, Bar<Foo<int>, Foo<> > >: bug.cc:20: instantiated from here bug.cc:14: internal compiler error: in finish_member_declaration, at cp/semantics.c:2335 -- Summary: [c++0x] ICE on templates, simple test-case Product: gcc Version: 4.4.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: dragan at plusplus dot co dot yu 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=38276