From ea81c03960264bf590cd99ed2b662243e3db7a7c Mon Sep 17 00:00:00 2001 From: Brian Anderson Date: Wed, 3 Aug 2011 10:48:24 -0700 Subject: [PATCH] Revert "Handle conditionals on _|_ - typed values correctly" This reverts commit 13f8b3f2a67a4e3a7a26b0e238e1b6ce9e1f3573. run-pass/if-ret.rs does not translate correctly when unoptimized. Issue #797 --- src/comp/middle/trans.rs | 12 ------------ src/test/run-fail/if-cond-bot.rs | 3 --- 2 files changed, 15 deletions(-) delete mode 100644 src/test/run-fail/if-cond-bot.rs diff --git a/src/comp/middle/trans.rs b/src/comp/middle/trans.rs index 4d0d06eb5fb1..98ca83a6ff6d 100644 --- a/src/comp/middle/trans.rs +++ b/src/comp/middle/trans.rs @@ -3592,18 +3592,6 @@ fn trans_if(cx: &@block_ctxt, cond: &@ast::expr, thn: &ast::blk, els: &option::t[@ast::expr], id: ast::node_id, output: &out_method) -> result { let cond_res = trans_expr(cx, cond); - - if (ty::type_is_bot(bcx_tcx(cx), ty::expr_ty(bcx_tcx(cx), cond))) { - // No need to generate code for comparison, - // since the cond diverges. - if (!cx.build.is_terminated()) { - ret rslt(cx, cx.build.Unreachable()); - } - else { - ret rslt(cx, C_nil()); - } - } - let then_cx = new_scope_block_ctxt(cx, "then"); let then_res = trans_block(then_cx, thn, output); let else_cx = new_scope_block_ctxt(cx, "else"); diff --git a/src/test/run-fail/if-cond-bot.rs b/src/test/run-fail/if-cond-bot.rs deleted file mode 100644 index 32c698652e7a..000000000000 --- a/src/test/run-fail/if-cond-bot.rs +++ /dev/null @@ -1,3 +0,0 @@ -// error-pattern:quux -fn my_err(s: str) -> ! { log_err s; fail "quux"; } -fn main() { if my_err("bye") { } }