* 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;
membersym:=nil;
memberdef:=nil;
memberdef_or_sym:=nil; // To get rid off warning.
dwarfoffset:=0; // To get rid off warning.
{ To get rid off warning. }
memberdef_or_sym:=nil;
dwarfoffset:=0;
if assigned(accesslist.procdef) then
begin
memberdef := accesslist.procdef;
// Debuginfo for procdefs is only written for members of an odt_helper
// or odt_class. (So, among others, not for interfaces.)
// It is not possible to reference something that is not there, so
// omit te reference.
{ Debuginfo for procdefs is only written for members of an odt_helper
or odt_class. (So, among others, not for interfaces.)
It is not possible to reference something that is not there, so
omit te reference. }
if Assigned(memberdef.owner.defowner) and (memberdef.owner.defowner.typ=objectdef) and
(tobjectdef(memberdef.owner.defowner).objecttype in [odt_helper, odt_class]) then
begin
@ -2995,11 +2997,11 @@ implementation
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
// Debuginfo for static members is not written
// It is not possible to reference something that is not there, so
// omit te reference.
{ Debuginfo for static members is not written
It is not possible to reference something that is not there, so
omit te reference. }
not (sp_static in membersym.symoptions) then
begin
memberowner := membersym.owner;
@ -3984,15 +3986,16 @@ implementation
hsi: PHashSetItem;
begin
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);
if dwarf_offset = -1 then
begin
hsi := PendingOffsets.FindOrAdd(@def_or_sym, SizeOf(def_or_sym));
// 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
// later.
{ 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
later. }
tci := TPendingOffsetConst.Create;
tci.tc := tc;
tci.next := TPendingOffsetConst(hsi^.Data);

View File

@ -885,6 +885,9 @@ interface
a routine that has to be internally generated by the compiler }
synthetickind: tsynthetickind;
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;
{$ifndef DISABLE_FAST_OVERLOAD_PATCH}
seenmarker : pointer; // used for filtering in tcandidate

View File

@ -225,6 +225,9 @@ interface
{ offset in record/object, for bitpacked fields the offset is
given in bit, else in bytes }
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;
{$ifdef llvm}
{ the llvm version of the record does not support variants, }