about summary refs log tree commit diff
path: root/src/librustc_codegen_llvm
diff options
context:
space:
mode:
authorOliver Schneider <github35764891676564198441@oli-obk.de>2018-05-24 10:45:05 +0200
committerOliver Schneider <github35764891676564198441@oli-obk.de>2018-05-24 20:49:38 +0200
commitca8c27e1c1832f9cf40c5f5c7b7a1e8fa89231ac (patch)
tree53b7ccd40e46c4f8b0822ccf886d20c60c316661 /src/librustc_codegen_llvm
parentbc3ba91737c654d8b0d61b4fb86bd9cb5a1475de (diff)
downloadrust-ca8c27e1c1832f9cf40c5f5c7b7a1e8fa89231ac.tar.gz
rust-ca8c27e1c1832f9cf40c5f5c7b7a1e8fa89231ac.zip
Ensure llvm doesn't trigger an assert for crazy transmutes
Diffstat (limited to 'src/librustc_codegen_llvm')
-rw-r--r--src/librustc_codegen_llvm/mir/constant.rs7
1 files changed, 2 insertions, 5 deletions
diff --git a/src/librustc_codegen_llvm/mir/constant.rs b/src/librustc_codegen_llvm/mir/constant.rs
index ef0bc3ed330..1fa3fb79e24 100644
--- a/src/librustc_codegen_llvm/mir/constant.rs
+++ b/src/librustc_codegen_llvm/mir/constant.rs
@@ -70,11 +70,8 @@ pub fn scalar_to_llvm(cx: &CodegenCx,
                 &C_usize(cx, ptr.offset.bytes()),
                 1,
             ) };
-            if layout.value != layout::Pointer {
-                unsafe { llvm::LLVMConstPtrToInt(llval, llty.to_ref()) }
-            } else {
-                consts::bitcast(llval, llty)
-            }
+            let llval = unsafe { llvm::LLVMConstPtrToInt(llval, llty.to_ref()) };
+            consts::bitcast(llval, llty)
         }
     }
 }