+ call g_checkexceptions after calls to fpc_reraise and fpc_raise_nested in

branchful exceptions mode
This commit is contained in:
Nikolay Nikolov 2021-10-05 03:38:33 +03:00
parent 464b3ebbed
commit f7b1ec2435

View File

@ -657,6 +657,7 @@ implementation
hlcg.g_call_system_proc(current_asmdata.CurrAsmList,'fpc_clear_exception_flag',[],nil).resetiftemp;
thlcgwasm(hlcg).raiseBr:=oldRaiseBr;
hlcg.g_call_system_proc(current_asmdata.CurrAsmList,'fpc_raise_nested',[],nil).resetiftemp;
thlcgwasm(hlcg).g_checkexceptions(current_asmdata.CurrAsmList);
current_asmdata.CurrAsmList.concat(taicpu.op_none(a_end_block));
thlcgwasm(hlcg).decblock;
@ -670,6 +671,7 @@ implementation
else
begin
hlcg.g_call_system_proc(current_asmdata.CurrAsmList,'fpc_reraise',[],nil).resetiftemp;
thlcgwasm(hlcg).g_checkexceptions(current_asmdata.CurrAsmList);
doobjectdestroyandreraisestate.newflowcontrol:=afteronflowcontrol;
end;
@ -1142,6 +1144,7 @@ implementation
thlcgwasm(hlcg).incblock;
thlcgwasm(hlcg).decstack(current_asmdata.CurrAsmList,1);
hlcg.g_call_system_proc(current_asmdata.CurrAsmList,'fpc_reraise',[],nil).resetiftemp;
thlcgwasm(hlcg).g_checkexceptions(current_asmdata.CurrAsmList);
current_asmdata.CurrAsmList.concat(taicpu.op_none(a_end_if));
thlcgwasm(hlcg).decblock;
end;
@ -1450,6 +1453,7 @@ implementation
hlcg.g_call_system_proc(current_asmdata.CurrAsmList,'fpc_clear_exception_flag',[],nil).resetiftemp;
hlcg.g_call_system_proc(current_asmdata.CurrAsmList,'fpc_raise_nested',[],nil).resetiftemp;
thlcgwasm(hlcg).g_checkexceptions(current_asmdata.CurrAsmList);
current_asmdata.CurrAsmList.concat(taicpu.op_none(a_end_block));
thlcgwasm(hlcg).decblock;