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.