]> git.lizzy.rs Git - rust.git/commitdiff
Revert "Ensure llvm doesn't trigger an assert for crazy transmutes"
authorOliver Schneider <github35764891676564198441@oli-obk.de>
Thu, 24 May 2018 14:19:55 +0000 (16:19 +0200)
committerOliver Schneider <github35764891676564198441@oli-obk.de>
Thu, 24 May 2018 18:49:38 +0000 (20:49 +0200)
This reverts commit 776c632e2a9a044fd134321a9d561e28994ff3ff.

src/librustc_codegen_llvm/mir/constant.rs

index 1fa3fb79e24b260cb70e105cf6a537196496e771..ef0bc3ed3306a9c561904fe6c1a24123b400b42c 100644 (file)
@@ -70,8 +70,11 @@ pub fn scalar_to_llvm(cx: &CodegenCx,
                 &C_usize(cx, ptr.offset.bytes()),
                 1,
             ) };
-            let llval = unsafe { llvm::LLVMConstPtrToInt(llval, llty.to_ref()) };
-            consts::bitcast(llval, llty)
+            if layout.value != layout::Pointer {
+                unsafe { llvm::LLVMConstPtrToInt(llval, llty.to_ref()) }
+            } else {
+                consts::bitcast(llval, llty)
+            }
         }
     }
 }