auto merge of #14786 : pcwalton/rust/enum-to-float-casts, r=alexcrichton

If this breaks your code, take a deep breath, go for a walk, and
consider why you're relying on the sign extension semantics of
enum-to-float casts.

[breaking-change]

Closes #8230.
This commit is contained in:
bors 2014-06-10 23:37:06 -07:00
commit 4fdc27e55e
2 changed files with 36 additions and 1 deletions

View file

@ -503,7 +503,7 @@ fn const_expr_unadjusted(cx: &CrateContext, e: &ast::Expr,
let s = ty::type_is_signed(ety) as Bool;
llvm::LLVMConstIntCast(iv, llty.to_ref(), s)
}
expr::cast_float => llvm::LLVMConstUIToFP(iv, llty.to_ref()),
expr::cast_float => llvm::LLVMConstSIToFP(iv, llty.to_ref()),
_ => cx.sess().bug("enum cast destination is not \
integral or float")
}