Mercurial > projects > ldc
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); }