diff --git a/compiler/ncgutil.pas b/compiler/ncgutil.pas index 279c092ec2..50fdf3c64c 100644 --- a/compiler/ncgutil.pas +++ b/compiler/ncgutil.pas @@ -452,8 +452,8 @@ implementation { perform the fpc_setjmp call } setjmpres:=hlcg.g_call_system_proc(list,pd,[@paraloc1],nil); location_reset(tmpresloc,LOC_REGISTER,def_cgsize(setjmpres.def)); - tmpresloc.register:=hlcg.getaddressregister(list,pushexceptres.def); - hlcg.gen_load_cgpara_loc(list,pushexceptres.def,setjmpres,tmpresloc,true); + tmpresloc.register:=hlcg.getintregister(list,setjmpres.def); + hlcg.gen_load_cgpara_loc(list,setjmpres.def,setjmpres,tmpresloc,true); hlcg.g_exception_reason_save(list,setjmpres.def,ossinttype,tmpresloc.register,t.reasonbuf); { if we get 0 here in the function result register, it means that we longjmp'd back here }