use the whole reg for return values

git-svn-id: trunk@27116 -
This commit is contained in:
Károly Balogh 2014-03-12 18:22:04 +00:00
parent bda6bf8137
commit 73db4db6f8

View File

@ -220,6 +220,17 @@ unit cpupara;
if set_common_funcretloc_info(p,forcetempdef,retcgsize,result) then
exit;
{ always use the whole 32 bit register when returning values }
if (side=calleeside) and
(result.intsize>0) and
(result.intsize<sizeof(aint)) then
begin
result.def:=sinttype;
result.intsize:=sizeof(aint);
retcgsize:=OS_SINT;
result.size:=retcgsize;
end;
paraloc:=result.add_location;
{ Return in FPU register? }
if not (cs_fp_emulation in current_settings.moduleswitches) and