diff --git a/compiler/ncgcnv.pas b/compiler/ncgcnv.pas index 6517c465c3..73d93f5de0 100644 --- a/compiler/ncgcnv.pas +++ b/compiler/ncgcnv.pas @@ -526,12 +526,11 @@ interface exit; {$endif} {$endif} - tg.gethltemp(current_asmdata.currasmlist,methodpointertype,methodpointertype.size,tt_normal,r); - location_reset_ref(location,LOC_REFERENCE,def_cgsize(resultdef),0); - location.reference:=r; - cg.a_load_const_ref(current_asmdata.currasmlist,OS_ADDR,0,r); - inc(r.offset,sizeof(puint)); - cg.a_load_const_ref(current_asmdata.currasmlist,OS_ADDR,0,r); + location_reset(location,LOC_REGISTER,def_cgsize(resultdef)); + location.registerhi:=cg.getaddressregister(current_asmdata.currasmlist); + cg.a_load_const_reg(current_asmdata.currasmlist,OS_ADDR,0,location.registerhi); + location.register:=cg.getaddressregister(current_asmdata.currasmlist); + cg.a_load_const_reg(current_asmdata.currasmlist,OS_ADDR,0,location.register); end; procedure tcgtypeconvnode.second_bool_to_int;