summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorsvenbarth <svenbarth@3ad0048d-3df7-0310-abae-a5850022a9f2>2020-04-21 06:07:03 +0000
committersvenbarth <svenbarth@3ad0048d-3df7-0310-abae-a5850022a9f2>2020-04-21 06:07:03 +0000
commitf9fe25de07eef0b894496fa57436ac4740d7b5cd (patch)
tree1f7b8b73be9c2c7c2fb8e68157d3361b469d2663
parentead32ef7438522e8ba2f9538d0ef8ea781580be4 (diff)
downloadfpc-f9fe25de07eef0b894496fa57436ac4740d7b5cd.tar.gz
* set implicitframe for copied tryfinally nodes as well
git-svn-id: https://svn.freepascal.org/svn/fpc/trunk@44956 3ad0048d-3df7-0310-abae-a5850022a9f2
-rw-r--r--compiler/nflw.pas8
1 files changed, 8 insertions, 0 deletions
diff --git a/compiler/nflw.pas b/compiler/nflw.pas
index 3c18363c4d..9edc45599c 100644
--- a/compiler/nflw.pas
+++ b/compiler/nflw.pas
@@ -244,6 +244,7 @@ interface
function pass_1 : tnode;override;
function simplify(forinline:boolean): tnode;override;
protected
+ function dogetcopy: tnode;override;
procedure adjust_estimated_stack_size; virtual;
end;
ttryfinallynodeclass = class of ttryfinallynode;
@@ -2599,6 +2600,13 @@ implementation
end;
+ function ttryfinallynode.dogetcopy: tnode;
+ begin
+ result:=inherited dogetcopy;
+ ttryfinallynode(result).implicitframe:=implicitframe;
+ end;
+
+
procedure ttryfinallynode.adjust_estimated_stack_size;
begin
inc(current_procinfo.estimatedtempsize,rec_jmp_buf.size);