mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-15 00:09:26 +02:00
* fixed webtbs/tw2514 for darwin/i386 (and a similar bug for win32):
you get an internalerror if you try to keep a 0-byte record in a register (because the paramgr then tries to allocate a register of size OS_NO) git-svn-id: trunk@2929 -
This commit is contained in:
parent
2a90c43cea
commit
5155de6d61
@ -103,6 +103,7 @@ unit cpupara;
|
|||||||
{ Win32 GCC returns small records in the FUNCTION_RETURN_REG.
|
{ Win32 GCC returns small records in the FUNCTION_RETURN_REG.
|
||||||
For stdcall we follow delphi instead of GCC }
|
For stdcall we follow delphi instead of GCC }
|
||||||
if (calloption in [pocall_cdecl,pocall_cppdecl]) and
|
if (calloption in [pocall_cdecl,pocall_cppdecl]) and
|
||||||
|
(def.size>0) and
|
||||||
(def.size<=8) then
|
(def.size<=8) then
|
||||||
begin
|
begin
|
||||||
result:=false;
|
result:=false;
|
||||||
@ -116,7 +117,8 @@ unit cpupara;
|
|||||||
case def.deftype of
|
case def.deftype of
|
||||||
recorddef :
|
recorddef :
|
||||||
begin
|
begin
|
||||||
if (def.size <= 8) then
|
if (def.size > 0) and
|
||||||
|
(def.size <= 8) then
|
||||||
begin
|
begin
|
||||||
result := false;
|
result := false;
|
||||||
exit;
|
exit;
|
||||||
|
Loading…
Reference in New Issue
Block a user