diff options
Diffstat (limited to 'compiler/aoptobj.pas')
-rw-r--r-- | compiler/aoptobj.pas | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/compiler/aoptobj.pas b/compiler/aoptobj.pas index a7836c820f..29b33958f3 100644 --- a/compiler/aoptobj.pas +++ b/compiler/aoptobj.pas @@ -380,6 +380,7 @@ Unit AoptObj; globals, verbose, aoptutils, + aasmcfi, procinfo; @@ -1592,8 +1593,10 @@ Unit AoptObj; (JumpTargetOp(taicpu(hp1))^.ref^.symbol is TAsmLabel) then TAsmLabel(JumpTargetOp(taicpu(hp1))^.ref^.symbol).decrefs; { don't kill start/end of assembler block, - no-line-info-start/end etc } - if not(hp1.typ in [ait_align,ait_marker]) then + no-line-info-start/end, cfi end, etc } + if not(hp1.typ in [ait_align,ait_marker]) and + ((hp1.typ<>ait_cfi) or + (tai_cfi_base(hp1).cfityp<>cfi_endproc)) then begin {$ifdef cpudelayslot} if (hp1.typ=ait_instruction) and (taicpu(hp1).is_jmp) then |