* fixed web bug #1651

This commit is contained in:
Jonas Maebe 2001-10-31 17:34:20 +00:00
parent 6fbd6e2e6d
commit 0660d20448

View File

@ -678,6 +678,7 @@ implementation
hp : tarrayconstructornode;
dovariant : boolean;
htype : ttype;
orgflags : tnodeflagset;
begin
dovariant:=(nf_forcevaria in flags) or tarraydef(resulttype.def).isvariant;
result:=nil;
@ -742,6 +743,9 @@ implementation
{ we need a copy here, because self is destroyed }
{ by firstpass later }
hp:=tarrayconstructornode(getcopy);
{ we also need a copy of the flags to restore later (e.g. for }
{ forcevaria) (JM) }
orgflags := flags;
while assigned(hp) do
begin
thp:=tarrayconstructornode(hp.right);
@ -749,7 +753,7 @@ implementation
chp:=hp;
hp:=thp;
end;
include(chp.flags,nf_cargs);
chp.flags := orgflags;
include(chp.flags,nf_cargswap);
chp.location.loc:=LOC_MEM;
calcregisters(chp,0,0,0);
@ -817,7 +821,10 @@ begin
end.
{
$Log$
Revision 1.27 2001-10-28 17:22:25 peter
Revision 1.28 2001-10-31 17:34:20 jonas
* fixed web bug 1651
Revision 1.27 2001/10/28 17:22:25 peter
* allow assignment of overloaded procedures to procvars when we know
which procedure to take