This is the mail archive of the
gdb-prs@sourceware.org
mailing list for the GDB project.
[Bug c++/14998] GDB cannot handle pointer to member functions beingencoded with DW_TAG_ptr_to_member_type
- From: "tromey at redhat dot com" <sourceware-bugzilla at sourceware dot org>
- To: gdb-prs at sourceware dot org
- Date: Mon, 07 Jan 2013 19:01:17 +0000
- Subject: [Bug c++/14998] GDB cannot handle pointer to member functions beingencoded with DW_TAG_ptr_to_member_type
- Auto-submitted: auto-generated
- References: <bug-14998-4717@http.sourceware.org/bugzilla/>
http://sourceware.org/bugzilla/show_bug.cgi?id=14998
--- Comment #6 from Tom Tromey <tromey at redhat dot com> 2013-01-07 19:01:17 UTC ---
This .s seems a little weird to me, but maybe I am confused.
When I look at the DWARF I see:
<1><47>: Abbrev Number: 6 (DW_TAG_ptr_to_member_type)
<48> DW_AT_type : <0x34>
<4c> DW_AT_containing_type: <0x3f>
which points to
<1><34>: Abbrev Number: 3 (DW_TAG_subroutine_type)
<35> DW_AT_type : <0x26>
<2><39>: Abbrev Number: 4 (DW_TAG_formal_parameter)
<3a> DW_AT_type : <0x2d>
0x2d is just
<1><2d>: Abbrev Number: 2 (DW_TAG_base_type)
<2e> DW_AT_name : (indirect string, offset: 0x46): float
<32> DW_AT_encoding : 4 (float)
<33> DW_AT_byte_size : 4
I was expecting the subroutine type to have an artificial parameter
for the "this" pointer.
I think if that was added then calling would work.
Printing the artificial argument appears to be a conscious decision.
>From c-typeprint.c:
Artificial arguments, such as "this"
in non-static methods, are displayed if LINKAGE_NAME is zero
I think this is a bit weird though. I wouldn't mind changing it or
perhaps adding a ptype flag to control it.
--
Configure bugmail: http://sourceware.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.