Browse Source

* write types declared in the interface section with a DW_AT_external tag, should resolve #40210

florian 2 years ago
parent
commit
4848327300
1 changed files with 2 additions and 0 deletions
  1. 2 0
      compiler/dbgdwarf.pas

+ 2 - 0
compiler/dbgdwarf.pas

@@ -1894,6 +1894,8 @@ implementation
             append_entry(DW_TAG_typedef,false,[
             append_entry(DW_TAG_typedef,false,[
               DW_AT_name,DW_FORM_string,symname(def.typesym, false)+#0
               DW_AT_name,DW_FORM_string,symname(def.typesym, false)+#0
             ]);
             ]);
+            if def.typesym.Owner.symtabletype=globalsymtable then
+              append_attribute(DW_AT_external,DW_FORM_flag,[true]);
             append_labelentry_ref(DW_AT_type,labsym);
             append_labelentry_ref(DW_AT_type,labsym);
             finish_entry;
             finish_entry;
             current_asmdata.asmlists[al_dwarf_info].concat(tai_symbol.create(labsym,0));
             current_asmdata.asmlists[al_dwarf_info].concat(tai_symbol.create(labsym,0));