From fcd17731cf7e27bcc7abb24b0aefb9d3dce15ed3 Mon Sep 17 00:00:00 2001 From: Patrick Walton Date: Wed, 21 Sep 2011 10:54:56 -0700 Subject: [PATCH] rustc: Don't try to spill bottom types, since we can't make any assumptions about the type of the ValueRef --- src/comp/middle/trans.rs | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/comp/middle/trans.rs b/src/comp/middle/trans.rs index bb9c41d9366..0f48df3bdbd 100644 --- a/src/comp/middle/trans.rs +++ b/src/comp/middle/trans.rs @@ -4312,6 +4312,11 @@ fn type_is_immediate(ccx: @crate_ctxt, t: ty::t) -> bool { fn do_spill(cx: @block_ctxt, v: ValueRef, t: ty::t) -> result { // We have a value but we have to spill it, and root it, to pass by alias. let bcx = cx; + + if ty::type_is_bot(bcx_tcx(bcx), t) { + ret rslt(bcx, C_null(T_ptr(T_i8()))); + } + let r = alloc_ty(bcx, t); bcx = r.bcx; let llptr = r.val;