This is the mail archive of the
mailing list for the GCC project.
Re: [PATCH] Fix ICE with -feliminate-dwarf2-dups or -gdwarf-4 (PR debug/46123)
- From: Jason Merrill <jason at redhat dot com>
- To: Jakub Jelinek <jakub at redhat dot com>
- Cc: gcc-patches at gcc dot gnu dot org
- Date: Wed, 24 Nov 2010 17:49:49 -0500
- Subject: Re: [PATCH] Fix ICE with -feliminate-dwarf2-dups or -gdwarf-4 (PR debug/46123)
- References: <20101118204216.GB29412@tyan-ft48-01.lab.bos.redhat.com>
On 11/18/2010 03:42 PM, Jakub Jelinek wrote:
As mentioned in the PR, reusing a DW_TAG_subprogram DW_AT_declaration DIE
for the definition doesn't work with -feliminate-dwarf2-dups or -gdwarf-4,
there we really want to avoid DW_TAG_subprograms for actual routine
definitions, otherwise we ICE because .debug_aranges isn't split to point to
those units (but the comdat CUs don't seem to be meant to contain debug info
It seems like the logic already there is trying to do the right thing.
It only shares the old DIE if the old one is either at file scope or
inside a function; in the testcase the old one is inside a function.
I think it's correct to re-use the DIE in the local class for the
abstract instance of the member function; it's just any concrete
instance that we want to go somewhere else.