mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-28 21:00:28 +02:00
* fix for inline bug
This commit is contained in:
parent
00761cc37d
commit
d0399b4e55
@ -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
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user