* Release register of by value parameter after making its local copy. It fixes bug when local stack location is referenced using big (>4k) PC relative offset by ARM CPU. In this case temp register is needed and wrong temp register is allocated.

git-svn-id: trunk@5488 -
This commit is contained in:
yury 2006-11-26 14:42:17 +00:00
parent c21b1478b8
commit 319d92fe9a

View File

@ -1618,7 +1618,6 @@ implementation
sizeleft:=currpara.paraloc[calleeside].intsize;
while assigned(paraloc) do
begin
unget_para(paraloc^);
if (paraloc^.size=OS_NO) then
begin
{ Can only be a reference that contains the rest
@ -1636,6 +1635,7 @@ implementation
inc(href.offset,TCGSize2Size[paraloc^.size]);
dec(sizeleft,TCGSize2Size[paraloc^.size]);
end;
unget_para(paraloc^);
paraloc:=paraloc^.next;
end;
end;