* improved code generation by reducing the usage of unneeded temps due to incorrect

node processing, patch by Sergei Gorelkin

git-svn-id: trunk@13756 -
This commit is contained in:
florian 2009-09-22 19:24:25 +00:00
parent 12fcb19bf4
commit 39c1c4c199

View File

@ -83,10 +83,10 @@ implementation
begin begin
node_changed:=true; node_changed:=true;
p.free; p.free;
{ run typecheckpass }
typecheckpass(hp);
{ switch to new node } { switch to new node }
p:=hp; p:=hp;
{ run typecheckpass }
typecheckpass(p);
end; end;
current_settings.localswitches:=oldlocalswitches; current_settings.localswitches:=oldlocalswitches;
current_filepos:=oldpos; current_filepos:=oldpos;
@ -164,10 +164,10 @@ implementation
if assigned(hp) then if assigned(hp) then
begin begin
p.free; p.free;
{ run typecheckpass }
typecheckpass(hp);
{ switch to new node } { switch to new node }
p:=hp; p:=hp;
{ run typecheckpass }
typecheckpass(p);
end; end;
if codegenerror then if codegenerror then
begin begin
@ -186,10 +186,10 @@ implementation
if assigned(hp) then if assigned(hp) then
begin begin
p.free; p.free;
{ run firstpass }
firstpass(hp);
{ switch to new node } { switch to new node }
p:=hp; p := hp;
{ run firstpass }
firstpass(p);
end end
else else
begin begin
@ -199,8 +199,8 @@ implementation
if assigned(hp) then if assigned(hp) then
begin begin
p.free; p.free;
firstpass(hp); p := hp;
p:=hp; firstpass(p);
end; end;
end; end;
if codegenerror then if codegenerror then