mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-09-09 22:09:25 +02:00
* fixed parameter allocation if there are fewer locations than the parameter
is long (e.g. if the last 4 bytes of a record is padding) -- not triggered by default because we just extend the last parameter location to 8 bytes in such a case, but can happen when we remove that for llvm git-svn-id: trunk@32552 -
This commit is contained in:
parent
e144ba05c1
commit
9fd4531e79
@ -1172,10 +1172,10 @@ unit cpupara;
|
||||
end;
|
||||
|
||||
locidx:=1;
|
||||
while (paralen>0) do
|
||||
while (paralen>0) and
|
||||
(locidx<=2) and
|
||||
(loc[locidx].typ<>X86_64_NO_CLASS) do
|
||||
begin
|
||||
if locidx>2 then
|
||||
internalerror(200501283);
|
||||
{ Allocate }
|
||||
case loc[locidx].typ of
|
||||
X86_64_INTEGER_CLASS,
|
||||
@ -1296,9 +1296,7 @@ unit cpupara;
|
||||
else
|
||||
internalerror(2010053113);
|
||||
end;
|
||||
if (locidx<2) and
|
||||
(loc[locidx+1].typ<>X86_64_NO_CLASS) then
|
||||
inc(locidx);
|
||||
inc(locidx);
|
||||
end;
|
||||
end
|
||||
else
|
||||
|
Loading…
Reference in New Issue
Block a user