+ added sanity check when resolving labels to ensure we don't get any jumps with

negative nesting depth
This commit is contained in:
Nikolay Nikolov 2021-10-21 22:48:33 +03:00
parent 5a0956d805
commit 470e77a572

View File

@ -516,7 +516,8 @@ implementation
(instr.oper[0]^.ref^.index<>NR_NO) or
(instr.oper[0]^.ref^.offset<>0) then
internalerror(2021102006);
if instr.oper[0]^.ref^.symbol.nestingdepth<>-1 then
if (instr.oper[0]^.ref^.symbol.nestingdepth<>-1) and
(cur_nesting_depth>=instr.oper[0]^.ref^.symbol.nestingdepth) then
instr.loadconst(0,cur_nesting_depth-instr.oper[0]^.ref^.symbol.nestingdepth)
else
begin