mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-16 18:59:11 +02:00
* fixed functions returning int64 on i8086
git-svn-id: branches/i8086@23807 -
This commit is contained in:
parent
763ed6835a
commit
4ea86a445e
@ -149,6 +149,15 @@ unit cpupara;
|
|||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
{ 64-bit types are returned as a parameter pointer, since putting them
|
||||||
|
in registers would require 4 registers on the i8086 }
|
||||||
|
if def.size > 4 then
|
||||||
|
begin
|
||||||
|
result:=true;
|
||||||
|
exit;
|
||||||
|
end;
|
||||||
|
|
||||||
result:=inherited ret_in_param(def,pd);
|
result:=inherited ret_in_param(def,pd);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
@ -373,6 +382,8 @@ unit cpupara;
|
|||||||
begin
|
begin
|
||||||
paraloc:=result.add_location;
|
paraloc:=result.add_location;
|
||||||
paraloc^.loc:=LOC_REGISTER;
|
paraloc^.loc:=LOC_REGISTER;
|
||||||
|
if retcgsize in [OS_64,OS_S64] then
|
||||||
|
internalerror(2013031201);
|
||||||
if retcgsize in [OS_32,OS_S32] then
|
if retcgsize in [OS_32,OS_S32] then
|
||||||
begin
|
begin
|
||||||
{ low 16bits }
|
{ low 16bits }
|
||||||
|
Loading…
Reference in New Issue
Block a user