diff --git a/compiler/aasmbase.pas b/compiler/aasmbase.pas index 7c1ac7d00c..d420393f72 100644 --- a/compiler/aasmbase.pas +++ b/compiler/aasmbase.pas @@ -109,7 +109,7 @@ interface { is the label only there for getting an address (e.g. for i/o checks -> alt_addr) or is it a jump target (alt_jump), for debug info alt_dbgline and alt_dbgfile } - TAsmLabelType = (alt_jump,alt_addr,alt_data,alt_dbgline,alt_dbgfile,alt_dbgtype); + TAsmLabelType = (alt_jump,alt_addr,alt_data,alt_dbgline,alt_dbgfile,alt_dbgtype,alt_dbgframe); TAsmLabel = class(TAsmSymbol) labelnr : longint; @@ -257,7 +257,7 @@ interface const { alt_jump,alt_addr,alt_data,alt_dbgline,alt_dbgfile } - asmlabeltypeprefix : array[tasmlabeltype] of char = ('j','a','d','l','f','t'); + asmlabeltypeprefix : array[tasmlabeltype] of char = ('j','a','d','l','f','t','c'); var objectlibrary : tasmlibrarydata; diff --git a/compiler/dwarf.pas b/compiler/dwarf.pas index 29af2faf34..613103f49c 100644 --- a/compiler/dwarf.pas +++ b/compiler/dwarf.pas @@ -314,10 +314,10 @@ implementation BYTE return address register <...> start sequence } - objectlibrary.getjumplabel(cielabel); + objectlibrary.getlabel(cielabel,alt_dbgframe); list.concat(tai_label.create(cielabel)); - objectlibrary.getjumplabel(lenstartlabel); - objectlibrary.getjumplabel(lenendlabel); + objectlibrary.getlabel(lenstartlabel,alt_dbgframe); + objectlibrary.getlabel(lenendlabel,alt_dbgframe); list.concat(tai_const.create_rel_sym(aitconst_32bit,lenstartlabel,lenendlabel)); list.concat(tai_label.create(lenstartlabel)); list.concat(tai_const.create_32bit(longint($ffffffff))); @@ -348,8 +348,8 @@ implementation if (hp.ops<>1) or (hp.oper[0].typ<>dop_reloffset) then internalerror(200404126); - objectlibrary.getjumplabel(lenstartlabel); - objectlibrary.getjumplabel(lenendlabel); + objectlibrary.getlabel(lenstartlabel,alt_dbgframe); + objectlibrary.getlabel(lenendlabel,alt_dbgframe); { FDE DWORD length DWORD CIE-pointer = cielabel @@ -389,8 +389,8 @@ implementation begin if assigned(FFrameStartLabel) then internalerror(200404129); - objectlibrary.getjumplabel(FFrameStartLabel); - objectlibrary.getjumplabel(FFrameEndLabel); + objectlibrary.getlabel(FFrameStartLabel,alt_dbgframe); + objectlibrary.getlabel(FFrameEndLabel,alt_dbgframe); FLastloclabel:=FFrameStartLabel; list.concat(tai_label.create(FFrameStartLabel)); al_dwarf.concat(tdwarfitem.create_reloffset(DW_CFA_start_frame,doe_32bit,FFrameStartLabel,FFrameEndLabel)); @@ -415,7 +415,7 @@ implementation begin if FLastloclabel=nil then internalerror(200404082); - objectlibrary.getjumplabel(currloclabel); + objectlibrary.getlabel(currloclabel,alt_dbgframe); list.concat(tai_label.create(currloclabel)); al_dwarf.concat(tdwarfitem.create_reloffset(DW_CFA_advance_loc4,doe_32bit,FLastloclabel,currloclabel)); FLastloclabel:=currloclabel; diff --git a/compiler/pdecobj.pas b/compiler/pdecobj.pas index 457317192a..b12fa6ccf6 100644 --- a/compiler/pdecobj.pas +++ b/compiler/pdecobj.pas @@ -55,7 +55,6 @@ implementation var there_is_a_destructor : boolean; classtype : tobjectdeftype; -// childof : tobjectdef; function constructor_head:tprocdef; var