From bead045f2724e3a256a2123a844b079f82047dd4 Mon Sep 17 00:00:00 2001 From: Marijn Haverbeke Date: Wed, 24 Aug 2011 10:55:34 +0200 Subject: [PATCH] Check for is_terminated after translating a block Closes #861 --- src/comp/middle/trans.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/comp/middle/trans.rs b/src/comp/middle/trans.rs index de05fd265e2..35390bc1b92 100644 --- a/src/comp/middle/trans.rs +++ b/src/comp/middle/trans.rs @@ -4303,7 +4303,7 @@ fn trans_expr_out(cx: &@block_ctxt, e: &@ast::expr, output: out_method) -> with_out_method(bind trans_block(sub_cx, blk, _), cx, e.id, output); cx.build.Br(sub_cx.llbb); - sub.bcx.build.Br(next_cx.llbb); + if !is_terminated(sub.bcx) { sub.bcx.build.Br(next_cx.llbb); } ret rslt(next_cx, sub.val); } ast::expr_copy(a) {