diff options
| author | Graydon Hoare <[email protected]> | 2011-04-20 04:55:55 +0000 |
|---|---|---|
| committer | Graydon Hoare <[email protected]> | 2011-04-20 04:55:55 +0000 |
| commit | 9034a8fbd6d44761c182e760a4aedd3a16cea912 (patch) | |
| tree | c96bd7e6dd2f068398919ce7ae729fac1bda196c | |
| parent | Small fast-path hack to ty.hash_ty and eq_ty. (diff) | |
| download | rust-9034a8fbd6d44761c182e760a4aedd3a16cea912.tar.xz rust-9034a8fbd6d44761c182e760a4aedd3a16cea912.zip | |
Fix #335, log context needs to be a scope to capture cleanups.
| -rw-r--r-- | src/comp/middle/trans.rs | 2 | ||||
| -rw-r--r-- | src/test/run-pass/log-err-phi.rs | 6 |
2 files changed, 7 insertions, 1 deletions
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"; + } +} + |