mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-22 17:49:27 +02:00
* correct paraloc size for 3-byte records passed in the lower bits of a
register (32 bit instead of 64 bit register) git-svn-id: trunk@30222 -
This commit is contained in:
parent
3d6fcd8815
commit
cea2741339
@ -639,10 +639,20 @@ implemented
|
|||||||
paraloc^.def := u64inttype;
|
paraloc^.def := u64inttype;
|
||||||
end
|
end
|
||||||
else if (paracgsize in [OS_NO, OS_128, OS_S128]) then
|
else if (paracgsize in [OS_NO, OS_128, OS_S128]) then
|
||||||
|
begin
|
||||||
|
if (paralen>4) or
|
||||||
|
(parashift<>0) then
|
||||||
begin
|
begin
|
||||||
paraloc^.size := OS_INT;
|
paraloc^.size := OS_INT;
|
||||||
paraloc^.def := osuinttype;
|
paraloc^.def := osuinttype;
|
||||||
end
|
end
|
||||||
|
else
|
||||||
|
begin
|
||||||
|
{ for 3-byte records aligned in the lower bits of register }
|
||||||
|
paraloc^.size := OS_32;
|
||||||
|
paraloc^.def := u32inttype;
|
||||||
|
end;
|
||||||
|
end
|
||||||
else
|
else
|
||||||
begin
|
begin
|
||||||
paraloc^.size := paracgsize;
|
paraloc^.size := paracgsize;
|
||||||
|
Loading…
Reference in New Issue
Block a user