* Refactored comments

This commit is contained in:
Joost van der Sluis 2022-06-12 23:55:29 +02:00 committed by FPK
parent 72342791bf
commit 18a53c15e8
3 changed files with 23 additions and 14 deletions

View File

@ -2975,15 +2975,17 @@ implementation
memberowner:=nil; memberowner:=nil;
membersym:=nil; membersym:=nil;
memberdef:=nil; memberdef:=nil;
memberdef_or_sym:=nil; // To get rid off warning. { To get rid off warning. }
dwarfoffset:=0; // To get rid off warning. memberdef_or_sym:=nil;
dwarfoffset:=0;
if assigned(accesslist.procdef) then if assigned(accesslist.procdef) then
begin begin
memberdef := accesslist.procdef; memberdef := accesslist.procdef;
// Debuginfo for procdefs is only written for members of an odt_helper { Debuginfo for procdefs is only written for members of an odt_helper
// or odt_class. (So, among others, not for interfaces.) or odt_class. (So, among others, not for interfaces.)
// It is not possible to reference something that is not there, so It is not possible to reference something that is not there, so
// omit te reference. omit te reference. }
if Assigned(memberdef.owner.defowner) and (memberdef.owner.defowner.typ=objectdef) and if Assigned(memberdef.owner.defowner) and (memberdef.owner.defowner.typ=objectdef) and
(tobjectdef(memberdef.owner.defowner).objecttype in [odt_helper, odt_class]) then (tobjectdef(memberdef.owner.defowner).objecttype in [odt_helper, odt_class]) then
begin begin
@ -2995,11 +2997,11 @@ implementation
end; end;
end; end;
end end
// Note that the returned 'dwarfoffset' is not used and not a dwarf-offset { Note that the returned 'dwarfoffset' is not used and not a dwarf-offset }
else if get_symlist_sym_offset(accesslist.firstsym, membersym, dwarfoffset) and else if get_symlist_sym_offset(accesslist.firstsym, membersym, dwarfoffset) and
// Debuginfo for static members is not written { Debuginfo for static members is not written
// It is not possible to reference something that is not there, so It is not possible to reference something that is not there, so
// omit te reference. omit te reference. }
not (sp_static in membersym.symoptions) then not (sp_static in membersym.symoptions) then
begin begin
memberowner := membersym.owner; memberowner := membersym.owner;
@ -3984,15 +3986,16 @@ implementation
hsi: PHashSetItem; hsi: PHashSetItem;
begin begin
AddConstToAbbrev(ord(attr)); AddConstToAbbrev(ord(attr));
AddConstToAbbrev(ord(DW_FORM_ref4)); //ToDo Dwarf64! { ToDo Dwarf64! }
AddConstToAbbrev(ord(DW_FORM_ref4));
tc := tai_const.Create_rel_sym_offset(offsetreltype,current_asmdata.DefineAsmSymbol(target_asm.labelprefix+'debug_info0',AB_LOCAL,AT_METADATA,voidpointertype), anchorlabel, dwarf_offset); tc := tai_const.Create_rel_sym_offset(offsetreltype,current_asmdata.DefineAsmSymbol(target_asm.labelprefix+'debug_info0',AB_LOCAL,AT_METADATA,voidpointertype), anchorlabel, dwarf_offset);
if dwarf_offset = -1 then if dwarf_offset = -1 then
begin begin
hsi := PendingOffsets.FindOrAdd(@def_or_sym, SizeOf(def_or_sym)); hsi := PendingOffsets.FindOrAdd(@def_or_sym, SizeOf(def_or_sym));
// In this case the debug-info for the referenced member has not been { In this case the debug-info for the referenced member has not been
// written yet. Add an element to hold the offset that could be filled written yet. Add an element to hold the offset that could be filled
// later. later. }
tci := TPendingOffsetConst.Create; tci := TPendingOffsetConst.Create;
tci.tc := tc; tci.tc := tc;
tci.next := TPendingOffsetConst(hsi^.Data); tci.next := TPendingOffsetConst(hsi^.Data);

View File

@ -885,6 +885,9 @@ interface
a routine that has to be internally generated by the compiler } a routine that has to be internally generated by the compiler }
synthetickind: tsynthetickind; synthetickind: tsynthetickind;
visibility : tvisibility; visibility : tvisibility;
{ To be able to reference the method in a property in the Dwarf debug
info, the amount of bytes between the start of the debug info and
the info for the method is stored }
dwarfoffset : asizeint; dwarfoffset : asizeint;
{$ifndef DISABLE_FAST_OVERLOAD_PATCH} {$ifndef DISABLE_FAST_OVERLOAD_PATCH}
seenmarker : pointer; // used for filtering in tcandidate seenmarker : pointer; // used for filtering in tcandidate

View File

@ -225,6 +225,9 @@ interface
{ offset in record/object, for bitpacked fields the offset is { offset in record/object, for bitpacked fields the offset is
given in bit, else in bytes } given in bit, else in bytes }
fieldoffset : asizeint; fieldoffset : asizeint;
{ To be able to reference the field in a property in the Dwarf debug
info, the amount of bytes between the start of the debug info and
the info for the field is stored }
dwarfoffset : asizeint; dwarfoffset : asizeint;
{$ifdef llvm} {$ifdef llvm}
{ the llvm version of the record does not support variants, } { the llvm version of the record does not support variants, }