This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB 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: [RFA] dwarf2_physname


On Tue, Sep 15, 2009 at 08:53:12AM -0700, Keith Seitz wrote:
> I played with this a bit, and it seems that only ctors and dtors have
> DIEs outside the class definition (ignoring "normal" C functions).
> However, in every case I tried, ICC does not output DW_AT_artificial
> for ANY class method's first parameter. Does ICC not use hidden
> parameter passing to implement method calls? It seems odd that it
> would do this for ctors/dtors and no other methods.

>From the standard:

===
If the member function entry describes a non-static member function,
then that entry has a DW_AT_object_pointer attribute whose value is a
reference to the formal parameter entry that corresponds to the object
for which the function is called. The name attribute of that formal
parameter is defined by the current language (for example, this for
C++ or self for Objective-C and some other languages). That parameter
also has a DW_AT_artificial attribute whose value is true.
Conversely, if the member function entry describes a static member
function, the entry does not have a DW_AT_object_pointer attribute.
===

So, if icc is failing to mark things artificial, does it make up for
it by having DW_AT_object_pointer?  I don't believe GCC generates that
attribtue (guess it should!).

> It may just be useful to provide (yet another) switch to turn on
> DW_AT_MIPS_linkage_name processing (and disable the proposed physname
> work). We could do this switch manually (set dwarf-linkage-name on?)
> and/or by producer (turn it on for ICC by default).

This is an area where, pain or not, I'd really prefer to have only one
way to do things.

I looked over your patch again.  I have no objection and Tom's already
approved it upthread; I think you're good to go.

-- 
Daniel Jacobowitz
CodeSourcery


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