* fix for inline bug

This commit is contained in:
pierre 2000-06-05 20:39:05 +00:00
parent 00761cc37d
commit d0399b4e55

View File

@ -2600,6 +2600,8 @@ procedure mov_reg_to_dest(p : ptree; s : topsize; reg : tregister);
end;
{ DO NOT RELY on the fact that the ptree is not yet swaped
because of inlining code PM }
procedure firstcomplex(p : ptree);
var
hp : ptree;
@ -2608,7 +2610,11 @@ procedure mov_reg_to_dest(p : ptree; s : topsize; reg : tregister);
if (p^.treetype in [orn,andn]) and
(p^.left^.resulttype^.deftype=orddef) and
(porddef(p^.left^.resulttype)^.typ in [bool8bit,bool16bit,bool32bit]) then
p^.swaped:=false
begin
{ p^.swaped:=false}
if p^.swaped then
internalerror(234234);
end
else
if (p^.left^.registers32<p^.right^.registers32) and
{ the following check is appropriate, because all }
@ -2620,10 +2626,10 @@ procedure mov_reg_to_dest(p : ptree; s : topsize; reg : tregister);
hp:=p^.left;
p^.left:=p^.right;
p^.right:=hp;
p^.swaped:=true;
end
else
p^.swaped:=false;
p^.swaped:=not p^.swaped;
end;
{else
p^.swaped:=false; do not modify }
end;
@ -3962,7 +3968,10 @@ procedure mov_reg_to_dest(p : ptree; s : topsize; reg : tregister);
end.
{
$Log$
Revision 1.106 2000-05-26 20:16:00 jonas
Revision 1.107 2000-06-05 20:39:05 pierre
* fix for inline bug
Revision 1.106 2000/05/26 20:16:00 jonas
* fixed wrong register deallocations in several ansistring related
procedures. The IDE's now function fine when compiled with -OG3p3r