summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorsergei <sergei@3ad0048d-3df7-0310-abae-a5850022a9f2>2014-09-08 18:08:12 +0000
committersergei <sergei@3ad0048d-3df7-0310-abae-a5850022a9f2>2014-09-08 18:08:12 +0000
commit2d7c78243920ddfcf9ed6ecd7390c9ac3827e12d (patch)
tree107a40e6a9d42c480ce657e12172e8bb7adddadf
parent0e81f4ccaf23a74c4eaafa7ff3c6f6fc05c0cadb (diff)
downloadfpc-2d7c78243920ddfcf9ed6ecd7390c9ac3827e12d.tar.gz
* Provide initialization of all variables, fixes cycling with OPT="-dTEST_WIN32_SEH -OoDFA".
git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@28622 3ad0048d-3df7-0310-abae-a5850022a9f2
-rw-r--r--compiler/i386/n386flw.pas7
1 files changed, 7 insertions, 0 deletions
diff --git a/compiler/i386/n386flw.pas b/compiler/i386/n386flw.pas
index dee3320a9d..ea7aee9261 100644
--- a/compiler/i386/n386flw.pas
+++ b/compiler/i386/n386flw.pas
@@ -316,6 +316,7 @@ procedure ti386tryfinallynode.pass_generate_code;
breakfinallylabel:=nil;
exceptlabel:=nil;
safecalllabel:=nil;
+ hreg:=NR_NO;
is_safecall:=implicitframe and (current_procinfo.procdef.proccalloption=pocall_safecall);
{ check if child nodes do a break/continue/exit }
@@ -489,6 +490,12 @@ procedure ti386tryexceptnode.pass_generate_code;
end;
location_reset(location,LOC_VOID,OS_NO);
+ exceptflowcontrol:=[];
+ breakexceptlabel:=nil;
+ continueexceptlabel:=nil;
+ breaktrylabel:=nil;
+ continuetrylabel:=nil;
+
oldflowcontrol:=flowcontrol;
flowcontrol:=[fc_inflowcontrol];
{ this can be called recursivly }