* use arraydef.elesize instead of elementtype.def.size

This commit is contained in:
peter 2000-04-01 14:18:44 +00:00
parent 8550915222
commit 836eafa712
2 changed files with 17 additions and 6 deletions

View File

@ -377,7 +377,12 @@ implementation
if p^.memindex then
get_mul_size:=1
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;
procedure calc_emit_mul;
@ -942,7 +947,10 @@ implementation
end.
{
$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
Revision 1.72 2000/02/18 20:53:14 pierre

View File

@ -2879,7 +2879,7 @@ procedure mov_reg_to_dest(p : ptree; s : topsize; reg : tregister);
exprasmlist^.concat(new(paicpu,
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}
{ windows guards only a few pages for stack growing, }
{ 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,
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
else
{$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)));
{ calculate size }
len:=parraydef(pvarsym(p)^.vartype.def)^.elementtype.def^.size;
len:=parraydef(pvarsym(p)^.vartype.def)^.elesize;
opsize:=S_B;
if (len and 3)=0 then
begin
@ -3855,7 +3855,10 @@ procedure mov_reg_to_dest(p : ptree; s : topsize; reg : tregister);
end.
{
$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
Revision 1.90 2000/03/28 22:31:46 pierre