mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-21 01:09:31 +02:00
* write debug info for Variant with the name "Variant" instead of TVARDATA
so they can be distinguished by debugger frontends git-svn-id: trunk@14298 -
This commit is contained in:
parent
985c74adde
commit
3bd7f55f92
@ -275,6 +275,7 @@ interface
|
||||
procedure appenddef_float(list:TAsmList;def:tfloatdef);override;
|
||||
procedure appenddef_enum(list:TAsmList;def:tenumdef);override;
|
||||
procedure appenddef_array(list:TAsmList;def:tarraydef);override;
|
||||
procedure appenddef_record_named(list:TAsmList;def:trecorddef;const name: shortstring);
|
||||
procedure appenddef_record(list:TAsmList;def:trecorddef);override;
|
||||
procedure appenddef_pointer(list:TAsmList;def:tpointerdef);override;
|
||||
procedure appenddef_string(list:TAsmList;def:tstringdef);override;
|
||||
@ -1416,8 +1417,17 @@ implementation
|
||||
procedure TDebugInfoDwarf.appenddef_record(list:TAsmList;def:trecorddef);
|
||||
begin
|
||||
if assigned(def.typesym) then
|
||||
appenddef_record_named(list,def,symname(def.typesym))
|
||||
else
|
||||
appenddef_record_named(list,def,'');
|
||||
end;
|
||||
|
||||
|
||||
procedure TDebugInfoDwarf.appenddef_record_named(list:TAsmList;def:trecorddef;const name: shortstring);
|
||||
begin
|
||||
if (name<>'') then
|
||||
append_entry(DW_TAG_structure_type,true,[
|
||||
DW_AT_name,DW_FORM_string,symname(def.typesym)+#0,
|
||||
DW_AT_name,DW_FORM_string,name+#0,
|
||||
DW_AT_byte_size,DW_FORM_udata,def.size
|
||||
])
|
||||
else
|
||||
@ -3246,7 +3256,7 @@ implementation
|
||||
procedure TDebugInfoDwarf2.appenddef_variant(list:TAsmList;def: tvariantdef);
|
||||
begin
|
||||
{ variants aren't known to dwarf2 but writting tvardata should be enough }
|
||||
appenddef_record(list,trecorddef(vardatadef));
|
||||
appenddef_record_named(list,trecorddef(vardatadef),'Variant');
|
||||
end;
|
||||
|
||||
function TDebugInfoDwarf2.dwarf_version: Word;
|
||||
|
Loading…
Reference in New Issue
Block a user