From 0e0273d53fb97de0a8a06ec8602bab4e991a665e Mon Sep 17 00:00:00 2001 From: sergei Date: Tue, 10 Dec 2013 12:43:24 +0000 Subject: [PATCH] * Partially reverted r26192, preserving registers in presence of exceptions needs a different solution. git-svn-id: trunk@26210 - --- compiler/nflw.pas | 13 +------------ 1 file changed, 1 insertion(+), 12 deletions(-) diff --git a/compiler/nflw.pas b/compiler/nflw.pas index c386349345..cee0e166ad 100644 --- a/compiler/nflw.pas +++ b/compiler/nflw.pas @@ -1466,24 +1466,13 @@ implementation end; - function has_exceptions(var n: tnode; arg: pointer): foreachnoderesult; - begin - if (n.nodetype in [tryfinallyn,tryexceptn]) then - result:=fen_norecurse_true - else - result:=fen_false; - end; - - function tfornode.wrap_to_value:tnode; var statements: tstatementnode; temp: ttempcreatenode; - allowreg: boolean; begin - allowreg:=not foreachnodestatic(t2,@has_exceptions,nil); result:=internalstatements(statements); - temp:=ctempcreatenode.create(t1.resultdef,t1.resultdef.size,tt_persistent,allowreg); + temp:=ctempcreatenode.create(t1.resultdef,t1.resultdef.size,tt_persistent,true); addstatement(statements,temp); addstatement(statements,cassignmentnode.create( ctemprefnode.create(temp),