[Issue 21156] New: DWARF: member functions are not represented as children of the aggregate, struct or class
d-bugmail at puremagic.com
d-bugmail at puremagic.com
Thu Aug 13 15:08:40 UTC 2020
https://issues.dlang.org/show_bug.cgi?id=21156
Issue ID: 21156
Summary: DWARF: member functions are not represented as
children of the aggregate, struct or class
Product: D
Version: D2
Hardware: All
OS: Linux
Status: NEW
Severity: minor
Priority: P1
Component: dmd
Assignee: nobody at puremagic.com
Reporter: lucien.perregaux at gmail.com
program:
---
module bar;
void main()
{
Bar b = Bar();
b.foo();
}
struct Bar
{
void foo()
{
}
}
---
DMD:
---
0x0000007b: DW_TAG_structure_type
DW_AT_name ("bar.Bar")
DW_AT_byte_size (0x00)
0x000000c1: DW_TAG_subprogram
DW_AT_sibling (0x0000010c)
DW_AT_name ("bar.Bar.foo")
DW_AT_MIPS_linkage_name ("_D3bar3Bar3fooMFZv")
DW_AT_decl_file
("/home/lucien/Documents/Programmation/D/b9800/src/main.d")
DW_AT_decl_line (12)
DW_AT_external (0x01)
DW_AT_low_pc (0x000000000003f6b8)
DW_AT_high_pc (0x000000000003f6c6)
DW_AT_frame_base (0x0000004c:
[0x000000000003f6b8, 0x000000000003f6b9): DW_OP_breg7 RSP+8
[0x000000000003f6b9, 0x000000000003f6bb): DW_OP_breg7 RSP+16
[0x000000000003f6bb, 0x000000000003f6c6): DW_OP_breg6
RBP+16)
0x000000fd: DW_TAG_formal_parameter
DW_AT_name ("this")
DW_AT_type (0x000000bc "bar.Bar&")
DW_AT_artificial (0x00)
DW_AT_location (DW_OP_fbreg -24)
0x0000010b: NULL
---
LDC:
---
0x0000005c: DW_TAG_structure_type
DW_AT_name ("Bar")
DW_AT_byte_size (0x01)
DW_AT_decl_file ("src/main.d")
DW_AT_decl_line (10)
DW_AT_alignment (1)
0x00000065: DW_TAG_subprogram
DW_AT_low_pc (0x0000000000000800)
DW_AT_high_pc (0x0000000000000806)
DW_AT_frame_base (DW_OP_reg6 RBP)
DW_AT_object_pointer (0x00000082)
DW_AT_linkage_name ("_D3bar3Bar3fooMFZv")
DW_AT_name ("foo")
DW_AT_decl_file ("src/main.d")
DW_AT_decl_line (12)
DW_AT_external (true)
0x00000082: DW_TAG_formal_parameter
DW_AT_location (DW_OP_breg5 RDI+0)
DW_AT_name ("this")
DW_AT_decl_file ("src/main.d")
DW_AT_decl_line (12)
DW_AT_type (0x000000d9 "Bar*")
DW_AT_artificial (true)
0x00000090: NULL
0x00000091: NULL
---
--
More information about the Digitalmars-d-bugs
mailing list