This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Problems with breakpoints in constructors


On Tuesday 06 Jul 2004 12:03 pm, Jason Merrill wrote:
> On Tue, 6 Jul 2004 11:24:37 +0530, "Amit S. Kale" <amitkale@linsyssoft.com> 
wrote:
> > Mangled names are emitted in debugging information generated in the
> > function add_name_and_src_coords_attributes. They are emitted as
> > attribute DW_AT_MIPS_linkage_name. This attribute is emitted for all
> > member functions except for constructors. It's not emitted when
> > DECL_ABSTRACT is true, which applies to constructors.
>
> ...which applies to the abstract instance of constructors.  This should in
> turn be referenced by two concrete instances, which should have
> DW_AT_MIPS_linkage_name.
>
> > This hack generates DW_AT_MIPS_linkage_name for only one attribute.
> > add_name_and_src_coords_attributes is not called for second instance of
> > the constructor since both these constructors are instance of an abstract
> > declaration, for which add_name_and_src_coords_attributes has been called
> > at the time of first instance.
>
> That's a bug; since we (correctly) aren't attaching the linkage name to the
> abstract instance, we need to attach it to the concrete instances.

Any ideas on how to do that?
I guess add_name_and_src_coords_attributes should be called for both the 
concrete instances.
Once debugging information is emitted for an abstrace instance, it's not 
emitted again. There is a check to that effect. Should we get rid of this 
check so that debugging information is emitted multiple times for abstrace 
instances?

-Amit


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]