summary refs log tree commit diff
path: root/src/comp
diff options
context:
space:
mode:
authorBrian Anderson <banderson@mozilla.com>2011-10-28 14:19:17 -0700
committerBrian Anderson <banderson@mozilla.com>2011-10-28 14:19:17 -0700
commitf96ad30dfc3501b979fd1d089f43e7fb6ff9eec3 (patch)
tree7e616ca46caec729c3d3ebb9656c8d57305d11b9 /src/comp
parentad66d72e6c0f77d7c6a094cf3fc5799b65824c87 (diff)
downloadrust-f96ad30dfc3501b979fd1d089f43e7fb6ff9eec3.tar.gz
rust-f96ad30dfc3501b979fd1d089f43e7fb6ff9eec3.zip
stdlib: Make reinterpret_cast and leak unsafe
Diffstat (limited to 'src/comp')
-rw-r--r--src/comp/middle/trans_build.rs10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/comp/middle/trans_build.rs b/src/comp/middle/trans_build.rs
index 196d6a34fcb..c0e7e19c1d7 100644
--- a/src/comp/middle/trans_build.rs
+++ b/src/comp/middle/trans_build.rs
@@ -81,7 +81,7 @@ fn IndirectBr(cx: @block_ctxt, Addr: ValueRef, NumDests: uint) {
 
 // This is a really awful way to get a zero-length c-string, but better (and a
 // lot more efficient) than doing str::as_buf("", ...) every time.
-fn noname() -> sbuf {
+fn noname() -> sbuf unsafe {
     const cnull: uint = 0u;
     ret std::unsafe::reinterpret_cast(std::ptr::addr_of(cnull));
 }
@@ -480,9 +480,11 @@ fn Phi(cx: @block_ctxt, Ty: TypeRef, vals: [ValueRef], bbs: [BasicBlockRef])
 
 fn AddIncomingToPhi(phi: ValueRef, val: ValueRef, bb: BasicBlockRef) {
     if llvm::LLVMIsUndef(phi) == lib::llvm::True { ret; }
-    let valptr = std::unsafe::reinterpret_cast(std::ptr::addr_of(val));
-    let bbptr = std::unsafe::reinterpret_cast(std::ptr::addr_of(bb));
-    llvm::LLVMAddIncoming(phi, valptr, bbptr, 1u);
+    unsafe {
+        let valptr = std::unsafe::reinterpret_cast(std::ptr::addr_of(val));
+        let bbptr = std::unsafe::reinterpret_cast(std::ptr::addr_of(bb));
+        llvm::LLVMAddIncoming(phi, valptr, bbptr, 1u);
+    }
 }
 
 fn _UndefReturn(Fn: ValueRef) -> ValueRef {