http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44175
--- Comment #9 from Jakub Jelinek <jakub at gcc dot gnu.org> 2011-06-08 12:16:49 UTC --- Additionally, if the only deep recursion problem is during GC, perhaps: --- gcc/cp/cp-tree.h 2011-05-27 21:13:30.946483346 +0200 +++ gcc/cp/cp-tree.h 2011-06-08 14:15:06.743389464 +0200 @@ -4635,7 +4635,7 @@ struct cp_declarator { }; /* A level of template instantiation. */ -struct GTY(()) tinst_level { +struct GTY((chain_next ("%h.next"))) tinst_level { /* The immediately deeper level in the chain. */ struct tinst_level *next; could fix it and allow going back to 1024 from 900.