From 9034a8fbd6d44761c182e760a4aedd3a16cea912 Mon Sep 17 00:00:00 2001 From: Graydon Hoare Date: Wed, 20 Apr 2011 04:55:55 +0000 Subject: Fix #335, log context needs to be a scope to capture cleanups. --- src/comp/middle/trans.rs | 2 +- src/test/run-pass/log-err-phi.rs | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) create mode 100644 src/test/run-pass/log-err-phi.rs (limited to 'src') diff --git a/src/comp/middle/trans.rs b/src/comp/middle/trans.rs index d329630f..f8945b17 100644 --- a/src/comp/middle/trans.rs +++ b/src/comp/middle/trans.rs @@ -5133,7 +5133,7 @@ fn trans_log(int lvl, @block_ctxt cx, @ast.expr e) -> result { lcx.ccx.module_data.insert(modname, global); } - auto log_cx = new_sub_block_ctxt(cx, "log"); + auto log_cx = new_scope_block_ctxt(cx, "log"); auto after_cx = new_sub_block_ctxt(cx, "after"); auto load = cx.build.Load(global); auto test = cx.build.ICmp(lib.llvm.LLVMIntSGE, load, C_int(lvl)); diff --git a/src/test/run-pass/log-err-phi.rs b/src/test/run-pass/log-err-phi.rs new file mode 100644 index 00000000..c1cd39da --- /dev/null +++ b/src/test/run-pass/log-err-phi.rs @@ -0,0 +1,6 @@ +fn main() { + if (false) { + log_err "foo" + "bar"; + } +} + -- cgit v1.2.3