[fpc-devel] debug information for Variant type
Jonas Maebe
jonas.maebe at elis.ugent.be
Thu Dec 3 14:09:48 CET 2009
On 01 Dec 2009, at 13:42, Paul Ishenin wrote:
> Jonas Maebe wrote:
>> Would it be enough if the type name were changed to "variant"? It
>> would not be 100% safe (since "variant" is not a reserved word,
>> anyone can declare a variable/type/... with the name "variant"),
>> but I don't immediately see another solution.
> I think yes.
Does the attached patch work for DWARF with Lazarus? "ptype
variantvar" still shows tvardata, but "info variantvar" shows "static
VARIANT V;", and I don't know what the GDB MI will return for the
query that Lazarus uses.
Jonas
Index: dbgdwarf.pas
===================================================================
--- dbgdwarf.pas (revision 14293)
+++ dbgdwarf.pas (working copy)
@@ -3245,8 +3245,11 @@
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));
+ append_entry(DW_TAG_typedef,false,[
+ DW_AT_name,DW_FORM_string,'Variant'#0
+ ]);
+ append_labelentry_ref(DW_AT_type,def_dwarf_lab(vardatadef));
+ finish_entry;
end;
function TDebugInfoDwarf2.dwarf_version: Word;
More information about the fpc-devel
mailing list