mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-15 23:49:22 +02:00
* use arraydef.elesize instead of elementtype.def.size
This commit is contained in:
parent
8550915222
commit
836eafa712
@ -377,7 +377,12 @@ implementation
|
|||||||
if p^.memindex then
|
if p^.memindex then
|
||||||
get_mul_size:=1
|
get_mul_size:=1
|
||||||
else
|
else
|
||||||
get_mul_size:=p^.resulttype^.size;
|
begin
|
||||||
|
if (p^.left^.resulttype^.deftype=arraydef) then
|
||||||
|
get_mul_size:=parraydef(p^.left^.resulttype)^.elesize
|
||||||
|
else
|
||||||
|
get_mul_size:=p^.resulttype^.size;
|
||||||
|
end
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure calc_emit_mul;
|
procedure calc_emit_mul;
|
||||||
@ -942,7 +947,10 @@ implementation
|
|||||||
end.
|
end.
|
||||||
{
|
{
|
||||||
$Log$
|
$Log$
|
||||||
Revision 1.73 2000-03-19 11:55:08 peter
|
Revision 1.74 2000-04-01 14:18:44 peter
|
||||||
|
* use arraydef.elesize instead of elementtype.def.size
|
||||||
|
|
||||||
|
Revision 1.73 2000/03/19 11:55:08 peter
|
||||||
* fixed temp ansi handling within array constructor
|
* fixed temp ansi handling within array constructor
|
||||||
|
|
||||||
Revision 1.72 2000/02/18 20:53:14 pierre
|
Revision 1.72 2000/02/18 20:53:14 pierre
|
||||||
|
@ -2879,7 +2879,7 @@ procedure mov_reg_to_dest(p : ptree; s : topsize; reg : tregister);
|
|||||||
|
|
||||||
exprasmlist^.concat(new(paicpu,
|
exprasmlist^.concat(new(paicpu,
|
||||||
op_const_reg(A_IMUL,S_L,
|
op_const_reg(A_IMUL,S_L,
|
||||||
parraydef(pvarsym(p)^.vartype.def)^.elementtype.def^.size,R_EDI)));
|
parraydef(pvarsym(p)^.vartype.def)^.elesize,R_EDI)));
|
||||||
{$ifndef NOTARGETWIN32}
|
{$ifndef NOTARGETWIN32}
|
||||||
{ windows guards only a few pages for stack growing, }
|
{ windows guards only a few pages for stack growing, }
|
||||||
{ so we have to access every page first }
|
{ so we have to access every page first }
|
||||||
@ -2921,7 +2921,7 @@ procedure mov_reg_to_dest(p : ptree; s : topsize; reg : tregister);
|
|||||||
|
|
||||||
exprasmlist^.concat(new(paicpu,
|
exprasmlist^.concat(new(paicpu,
|
||||||
op_const_reg(A_IMUL,S_L,
|
op_const_reg(A_IMUL,S_L,
|
||||||
parraydef(pvarsym(p)^.vartype.def)^.elementtype.def^.size,R_EDI)));
|
parraydef(pvarsym(p)^.vartype.def)^.elesize,R_EDI)));
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
{$endif NOTARGETWIN32}
|
{$endif NOTARGETWIN32}
|
||||||
@ -2960,7 +2960,7 @@ procedure mov_reg_to_dest(p : ptree; s : topsize; reg : tregister);
|
|||||||
op_reg(A_INC,S_L,R_ECX)));
|
op_reg(A_INC,S_L,R_ECX)));
|
||||||
|
|
||||||
{ calculate size }
|
{ calculate size }
|
||||||
len:=parraydef(pvarsym(p)^.vartype.def)^.elementtype.def^.size;
|
len:=parraydef(pvarsym(p)^.vartype.def)^.elesize;
|
||||||
opsize:=S_B;
|
opsize:=S_B;
|
||||||
if (len and 3)=0 then
|
if (len and 3)=0 then
|
||||||
begin
|
begin
|
||||||
@ -3855,7 +3855,10 @@ procedure mov_reg_to_dest(p : ptree; s : topsize; reg : tregister);
|
|||||||
end.
|
end.
|
||||||
{
|
{
|
||||||
$Log$
|
$Log$
|
||||||
Revision 1.91 2000-03-31 22:56:46 pierre
|
Revision 1.92 2000-04-01 14:18:45 peter
|
||||||
|
* use arraydef.elesize instead of elementtype.def.size
|
||||||
|
|
||||||
|
Revision 1.91 2000/03/31 22:56:46 pierre
|
||||||
* fix the handling of value parameters in cdecl function
|
* fix the handling of value parameters in cdecl function
|
||||||
|
|
||||||
Revision 1.90 2000/03/28 22:31:46 pierre
|
Revision 1.90 2000/03/28 22:31:46 pierre
|
||||||
|
Loading…
Reference in New Issue
Block a user