www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.bugs - [Issue 21155] New: DWARF: symbols within a module are not children


          Issue ID: 21155
           Summary: DWARF: symbols within a module are not children of
           Product: D
           Version: D2
          Hardware: All
                OS: Linux
            Status: NEW
          Severity: trivial
          Priority: P1
         Component: dmd
          Assignee: nobody puremagic.com
          Reporter: lucien.perregaux gmail.com

Actually, DMD emits the module's tag, but it has no childrens and no references
to it.

Also, the attribute DW_AT_name of the childrens shouldn't contain the module
name as a prefix

module bar;

void main()

void bar()


Emitted by DMD:
0x00000076:   DW_TAG_module
                DW_AT_name      ("bar")

0x000000a2:   DW_TAG_subprogram
                DW_AT_name      ("bar.bar")
                DW_AT_MIPS_linkage_name ("_D3barQeFZv")
                DW_AT_decl_file ("src/main.d")
                DW_AT_decl_line (9)
                DW_AT_external  (0x01)
                DW_AT_low_pc    (0x000000000003f6ac)
                DW_AT_high_pc   (0x000000000003f6b2)
                DW_AT_frame_base        (0x0000004c: 
                   [0x000000000003f6ac, 0x000000000003f6ad): DW_OP_breg7 RSP+8
                   [0x000000000003f6ad, 0x000000000003f6af): DW_OP_breg7 RSP+16
                   [0x000000000003f6af, 0x000000000003f6b2): DW_OP_breg6

Aug 13 2020