diff gen/statements.cpp @ 356:44daf304421c trunk

[svn r377] The previous check was too strict, it completely disallowed gotos within finally blocks. This reenables them as long as they don't cross a finally boundary.
author ChristianK
date Mon, 14 Jul 2008 12:00:24 +0200
parents d8357f7004ca
children 8014dbd24605
line wrap: on
line diff
--- a/gen/statements.cpp	Mon Jul 14 11:48:55 2008 +0200
+++ b/gen/statements.cpp	Mon Jul 14 12:00:24 2008 +0200
@@ -1063,12 +1063,10 @@
     if (global.params.symdebug)
         DtoDwarfStopPoint(loc.linnum);
 
-    assert(tf == NULL);
-
     llvm::BasicBlock* oldend = gIR->scopeend();
     llvm::BasicBlock* bb = llvm::BasicBlock::Create("aftergoto", p->topfunc(), oldend);
 
-    DtoGoto(&loc, label->ident, enclosinghandler);
+    DtoGoto(&loc, label->ident, enclosinghandler, tf);
 
     p->scope() = IRScope(bb,oldend);
 }