This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: PR c/43288 (ICE with __attribute__ ((common)))
On Wed, 2010-03-17 at 16:35 +0100, Jan Hubicka wrote:
> Hmm, I rebuilt for this tripplet, but still no luck:
>
> jh@gcc14:~/trunk/build-hppa2/gcc$ cat a.C
> class t { virtual ~t(); };
> namespace __cxxabiv1 {
> class __fundamental_type_info : public t {};
> }
>
> jh@gcc14:~/trunk/build-hppa2/gcc$ ./cc1plus a.C -quiet
> jh@gcc14:~/trunk/build-hppa2/gcc$
>
> There seems to be no changes today that would fix this. If the testcase seems
> fine, could you try to get a backtrace for me? I think we might only need to
> avoid make_decl_rtl from being called too early.
>
> Honza
The test looks fine. It still fails for me on ToT. I don't think the
backtrace to the abort helps much, it is coming from
cp_write_global_declarations() which is iterating over
unemitted_tinfo_decls and I think we need to understand more about when
and how the decls are put on this list.
Steve Ellcey
sje@cup.hp.com
#0 fancy_abort ()
at /proj/opensrc/sje/reg/src/trunk/gcc/diagnostic.c:763
#1 0x878858 in make_decl_rtl ()
at /proj/opensrc/sje/reg/src/trunk/gcc/varasm.c:1445
#2 0x879540 in notice_global_symbol ()
at /proj/opensrc/sje/reg/src/trunk/gcc/varasm.c:1621
#3 0x8f2120 in varpool_enqueue_needed_node ()
at /proj/opensrc/sje/reg/src/trunk/gcc/varpool.c:202
#4 0x8f2748 in varpool_finalize_decl ()
at /proj/opensrc/sje/reg/src/trunk/gcc/varpool.c:307
#5 0x709790 in rest_of_decl_compilation ()
at /proj/opensrc/sje/reg/src/trunk/gcc/passes.c:195
#6 0x921b0 in make_rtl_for_nonlocal_decl ()
at /proj/opensrc/sje/reg/src/trunk/gcc/cp/decl.c:5367
#7 0x96450 in cp_finish_decl ()
at /proj/opensrc/sje/reg/src/trunk/gcc/cp/decl.c:5904
#8 0x23cf90 in emit_tinfo_decl ()
at /proj/opensrc/sje/reg/src/trunk/gcc/cp/rtti.c:1555
#9 0x1d8a54 in cp_write_global_declarations ()
at /proj/opensrc/sje/reg/src/trunk/gcc/cp/decl2.c:3581
#10 0x766640 in compile_file ()
at /proj/opensrc/sje/reg/src/trunk/gcc/toplev.c:1065
#11 0x769e44 in do_compile ()
at /proj/opensrc/sje/reg/src/trunk/gcc/toplev.c:2409
#12 0x769fc4 in toplev_main ()
at /proj/opensrc/sje/reg/src/trunk/gcc/toplev.c:2451
#13 0x3f9c5c in main () at /proj/opensrc/sje/reg/src/trunk/gcc/main.c:35