http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16564
Manuel López-Ibáñez <manu at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |jason at gcc dot gnu.org, | |jsm28 at gcc dot gnu.org --- Comment #14 from Manuel López-Ibáñez <manu at gcc dot gnu.org> 2012-11-09 01:27:49 UTC --- (In reply to comment #12) > Do you know where it is looping? That sounds like a different and more serious > issue than the pretty-printer for types not being able to summarize repetitive > template instantiations (and that is already reported in a different PR). To answer my own question, it loops (or it seems to take a very long time) in instantiate_pending_templates: #150 0x000000000069403f in emit_mem_initializers (mem_inits=0x7ffff7053c58) at /home/manuel/test1/pristine/gcc/cp/init.c:1085 #151 0x00000000005a40ae in tsubst_expr (t=<optimized out>, args=args@entry=0x7ffff7041060, complain=complain@entry=3, in_decl=in_decl@entry=0x7ffff758ca10, integral_constant_expression_p=integral_constant_expression_p@entry=false) at /home/manuel/test1/pristine/gcc/cp/pt.c:12671 #152 0x00000000005a3964 in tsubst_expr (t=0x7ffff7416e70, args=args@entry=0x7ffff7041060, complain=complain@entry=3, in_decl=in_decl@entry=0x7ffff758ca10, integral_constant_expression_p=integral_constant_expression_p@entry=false) at /home/manuel/test1/pristine/gcc/cp/pt.c:12849 #153 0x00000000005a10aa in instantiate_decl (d=<optimized out>, d@entry=0x7ffff703c800, defer_ok=<optimized out>, defer_ok@entry=0, expl_inst_class_mem_p=expl_inst_class_mem_p@entry=false) at /home/manuel/test1/pristine/gcc/cp/pt.c:18674 #154 0x00000000005dbaa4 in instantiate_pending_templates (retries=<optimized out>) at /home/manuel/test1/pristine/gcc/cp/pt.c:18773 #155 0x0000000000618ac9 in cp_write_global_declarations () at /home/manuel/test1/pristine/gcc/cp/decl2.c:3990 #156 0x0000000000aadbd5 in compile_file () at /home/manuel/test1/pristine/gcc/toplev.c:558 #157 0x0000000000aaf738 in do_compile () at /home/manuel/test1/pristine/gcc/toplev.c:1864 #158 toplev_main (argc=3, argv=0x7fffffffe738) at /home/manuel/test1/pristine/gcc/toplev.c:1940 #159 0x00007ffff76261a6 in __libc_start_main () from /lib/libc.so.6 #160 0x000000000052f919 in _start () Jason, Joseph, why are we trying to do (cp_)write_global_declarations if we have already seen compilation errors? Can't we just abort earlier in compile_file()?