diff gen/asmstmt.cpp @ 1141:f99a3b393c03

Reorganize EnclosingHandlers to require less changes to the frontend and allow us to implement the synchronized storage class for functions.
author Christian Kamm <kamm incasoftware de>
date Tue, 24 Mar 2009 21:18:18 +0100
parents b30fe7e1dbb9
children 7d28dcbff23e
line wrap: on
line diff
--- a/gen/asmstmt.cpp	Tue Mar 24 14:34:16 2009 +0100
+++ b/gen/asmstmt.cpp	Tue Mar 24 21:18:18 2009 +0100
@@ -444,8 +444,8 @@
 AsmBlockStatement::AsmBlockStatement(Loc loc, Statements* s)
 :   CompoundStatement(loc, s)
 {
-    enclosinghandler = NULL;
-    tf = NULL;
+    enclosingFinally = NULL;
+    enclosingScopeExit = NULL;
 
     abiret = NULL;
 }
@@ -772,7 +772,7 @@
             sw->addCase(llvm::ConstantInt::get(llvm::IntegerType::get(32), it->second), casebb);
 
             p->scope() = IRScope(casebb,bb);
-            DtoGoto(&loc, it->first, enclosinghandler, tf);
+            DtoGoto(loc, it->first);
         }
 
         p->scope() = IRScope(bb,oldend);
@@ -803,8 +803,8 @@
 // necessary for in-asm branches
 Statement *AsmBlockStatement::semantic(Scope *sc)
 {
-    enclosinghandler = sc->tfOfTry;
-    tf = sc->tf;
+    enclosingFinally = sc->enclosingFinally;
+    enclosingScopeExit = sc->enclosingScopeExit;
 
     return CompoundStatement::semantic(sc);
 }