mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-11 12:46:06 +02:00
* fixed setting the paraloc shift value for data whose size is not a power
of 2: paraloc^.size was then OS_NO, so their shiftval was set to 0, while we also have to put those in the upper bytes of the paraloc git-svn-id: trunk@32634 -
This commit is contained in:
parent
1320d6bdba
commit
e43f767cbf
@ -502,9 +502,9 @@ unit cpupara;
|
|||||||
registers is left-aligned }
|
registers is left-aligned }
|
||||||
if (target_info.system in systems_aix) and
|
if (target_info.system in systems_aix) and
|
||||||
(paradef.typ = recorddef) and
|
(paradef.typ = recorddef) and
|
||||||
(tcgsize2size[paraloc^.size] <> sizeof(aint)) then
|
(paralen < sizeof(aint)) then
|
||||||
begin
|
begin
|
||||||
paraloc^.shiftval := (sizeof(aint)-tcgsize2size[paraloc^.size])*(-8);
|
paraloc^.shiftval := (sizeof(aint)-paralen)*(-8);
|
||||||
paraloc^.size := OS_INT;
|
paraloc^.size := OS_INT;
|
||||||
paraloc^.def := u32inttype;
|
paraloc^.def := u32inttype;
|
||||||
end;
|
end;
|
||||||
|
Loading…
Reference in New Issue
Block a user