mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-14 20:09:27 +02:00
* fixed const and reg parameter passing with alignment of 2 (go32v2/os2)
git-svn-id: trunk@1307 -
This commit is contained in:
parent
cc38ec676e
commit
affb69dd7f
@ -96,7 +96,10 @@ unit cgcpu;
|
|||||||
if use_push(cgpara) then
|
if use_push(cgpara) then
|
||||||
begin
|
begin
|
||||||
cgpara.check_simple_location;
|
cgpara.check_simple_location;
|
||||||
pushsize:=int_cgsize(cgpara.alignment);
|
if tcgsize2size[cgpara.location^.size]>cgpara.alignment then
|
||||||
|
pushsize:=cgpara.location^.size
|
||||||
|
else
|
||||||
|
pushsize:=int_cgsize(cgpara.alignment);
|
||||||
list.concat(taicpu.op_reg(A_PUSH,tcgsize2opsize[pushsize],makeregsize(list,r,pushsize)));
|
list.concat(taicpu.op_reg(A_PUSH,tcgsize2opsize[pushsize],makeregsize(list,r,pushsize)));
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
@ -111,7 +114,10 @@ unit cgcpu;
|
|||||||
if use_push(cgpara) then
|
if use_push(cgpara) then
|
||||||
begin
|
begin
|
||||||
cgpara.check_simple_location;
|
cgpara.check_simple_location;
|
||||||
pushsize:=int_cgsize(cgpara.alignment);
|
if tcgsize2size[cgpara.location^.size]>cgpara.alignment then
|
||||||
|
pushsize:=cgpara.location^.size
|
||||||
|
else
|
||||||
|
pushsize:=int_cgsize(cgpara.alignment);
|
||||||
list.concat(taicpu.op_const(A_PUSH,tcgsize2opsize[pushsize],a));
|
list.concat(taicpu.op_const(A_PUSH,tcgsize2opsize[pushsize],a));
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
|
Loading…
Reference in New Issue
Block a user