mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-14 13:49:21 +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_float(list:TAsmList;def:tfloatdef);override;
|
||||||
procedure appenddef_enum(list:TAsmList;def:tenumdef);override;
|
procedure appenddef_enum(list:TAsmList;def:tenumdef);override;
|
||||||
procedure appenddef_array(list:TAsmList;def:tarraydef);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_record(list:TAsmList;def:trecorddef);override;
|
||||||
procedure appenddef_pointer(list:TAsmList;def:tpointerdef);override;
|
procedure appenddef_pointer(list:TAsmList;def:tpointerdef);override;
|
||||||
procedure appenddef_string(list:TAsmList;def:tstringdef);override;
|
procedure appenddef_string(list:TAsmList;def:tstringdef);override;
|
||||||
@ -1416,8 +1417,17 @@ implementation
|
|||||||
procedure TDebugInfoDwarf.appenddef_record(list:TAsmList;def:trecorddef);
|
procedure TDebugInfoDwarf.appenddef_record(list:TAsmList;def:trecorddef);
|
||||||
begin
|
begin
|
||||||
if assigned(def.typesym) then
|
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,[
|
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
|
DW_AT_byte_size,DW_FORM_udata,def.size
|
||||||
])
|
])
|
||||||
else
|
else
|
||||||
@ -3246,7 +3256,7 @@ implementation
|
|||||||
procedure TDebugInfoDwarf2.appenddef_variant(list:TAsmList;def: tvariantdef);
|
procedure TDebugInfoDwarf2.appenddef_variant(list:TAsmList;def: tvariantdef);
|
||||||
begin
|
begin
|
||||||
{ variants aren't known to dwarf2 but writting tvardata should be enough }
|
{ 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;
|
end;
|
||||||
|
|
||||||
function TDebugInfoDwarf2.dwarf_version: Word;
|
function TDebugInfoDwarf2.dwarf_version: Word;
|
||||||
|
Loading…
Reference in New Issue
Block a user