|
@@ -5211,8 +5211,17 @@ implementation
|
|
|
end;
|
|
|
|
|
|
procedure thlcgobj.gen_load_loc_function_result(list: TAsmList; vardef: tdef; const l: tlocation);
|
|
|
+ var
|
|
|
+ safecallretpara: tcgpara;
|
|
|
begin
|
|
|
- gen_load_loc_cgpara(list,vardef,l,current_procinfo.procdef.funcretloc[calleeside]);
|
|
|
+ if not current_procinfo.procdef.generate_safecall_wrapper then
|
|
|
+ gen_load_loc_cgpara(list,vardef,l,current_procinfo.procdef.funcretloc[calleeside])
|
|
|
+ else
|
|
|
+ begin
|
|
|
+ safecallretpara:=paramanager.get_safecallresult_funcretloc(current_procinfo.procdef,calleeside);
|
|
|
+ gen_load_loc_cgpara(list,vardef,l,safecallretpara);
|
|
|
+ safecallretpara.resetiftemp;
|
|
|
+ end;
|
|
|
end;
|
|
|
|
|
|
procedure thlcgobj.gen_load_loc_cgpara(list: TAsmList; vardef: tdef; const l: tlocation; const cgpara: tcgpara);
|