This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug debug/51950] New: [4.6 Regression] fdebug-types-section regression for member pointers
- From: "jan.kratochvil at redhat dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Sun, 22 Jan 2012 18:23:33 +0000
- Subject: [Bug debug/51950] New: [4.6 Regression] fdebug-types-section regression for member pointers
- Auto-submitted: auto-generated
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51950
Bug #: 51950
Summary: [4.6 Regression] fdebug-types-section regression for
member pointers
Classification: Unclassified
Product: gcc
Version: 4.7.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: debug
AssignedTo: unassigned@gcc.gnu.org
ReportedBy: jan.kratochvil@redhat.com
CC: ccoutant@gcc.gnu.org, dodji@gcc.gnu.org
Target: x86_64-unknown-linux-gnu
GDB testsuite:
ptype F
-type = void (S::*)(S * const)
-(gdb) PASS: gdb.cp/temargs.exp: test type of F in k2_m
+type = void (S::*)(S *, S * const)
+(gdb) FAIL: gdb.cp/temargs.exp: test type of F in k2_m
UNSUPPORTED: gcc (GCC) 4.4.7 20120122 (prerelease) - no DWARF-4
PASS: gcc (GCC) 4.5.4 20120122 (prerelease)
FAIL: gcc (GCC) 4.6.3 20120122 (prerelease) (-fdebug-types-section)
FAIL: gcc (GCC) 4.7.0 20120122 (experimental) -fdebug-types-section
PASS: gcc (GCC) 4.7.0 20120122 (experimental) -fno-debug-types-section
------------------------------------------------------------------------------
struct S {
void somefunc() {}
};
template<void (S::*F) ()>
struct K2 {
void k2_m () {} /* line 6 */
};
K2<&S::somefunc> k2;
int main () {
k2.k2_m ();
return 0;
}
------------------------------------------------------------------------------
g++ -gdwarf-4 -fdebug-types-section
------------------------------------------------------------------------------
Compilation Unit @ offset 0x0:
Signature: a663cce782d1a2b9
Type Offset: 0x1d
<0><17>: Abbrev Number: 1 (DW_TAG_type_unit)
<1><1d>: Abbrev Number: 2 (DW_TAG_structure_type)
<2><25>: Abbrev Number: 3 (DW_TAG_member)
<26> DW_AT_name : (indirect string, offset: 0xca): __pfn
<2c> DW_AT_type : <0x3e>
<2><31>: Abbrev Number: 3 (DW_TAG_member)
<32> DW_AT_name : (indirect string, offset: 0x26): __delta
<1><3e>: Abbrev Number: 4 (DW_TAG_pointer_type)
<40> DW_AT_type : <0x4b>
<1><4b>: Abbrev Number: 6 (DW_TAG_subroutine_type)
<4c> DW_AT_object_pointer: <0x59>
<2><54>: Abbrev Number: 7 (DW_TAG_formal_parameter)
<55> DW_AT_type : <0x5f>
<59> DW_AT_artificial : 1
<2><59>: Abbrev Number: 7 (DW_TAG_formal_parameter)
<5a> DW_AT_type : <0x5f>
<5e> DW_AT_artificial : 1
<1><5f>: Abbrev Number: 8 (DW_TAG_pointer_type)
<61> DW_AT_type : signature: d93bf8a6a14b2dca
The DIEs <0x54> is excessive.