From 293b57701b7bcdd88e44ce8f671511ba35cac13e Mon Sep 17 00:00:00 2001 From: Brian Koropoff Date: Mon, 29 Sep 2014 19:58:32 -0700 Subject: [PATCH] Add missing case for pointer -> int when translating constant cast expressions Closes issue #17458 --- src/librustc/middle/trans/consts.rs | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/librustc/middle/trans/consts.rs b/src/librustc/middle/trans/consts.rs index d39fe4a1e700..456ff69e0ec0 100644 --- a/src/librustc/middle/trans/consts.rs +++ b/src/librustc/middle/trans/consts.rs @@ -547,6 +547,9 @@ fn const_expr_unadjusted(cx: &CrateContext, e: &ast::Expr, (expr::cast_integral, expr::cast_pointer) => { llvm::LLVMConstIntToPtr(v, llty.to_ref()) } + (expr::cast_pointer, expr::cast_integral) => { + llvm::LLVMConstPtrToInt(v, llty.to_ref()) + } _ => { cx.sess().impossible_case(e.span, "bad combination of types for cast")