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()?

Reply via email to