diff options
| author | Brian Anderson <banderson@mozilla.com> | 2011-10-28 14:19:17 -0700 |
|---|---|---|
| committer | Brian Anderson <banderson@mozilla.com> | 2011-10-28 14:19:17 -0700 |
| commit | f96ad30dfc3501b979fd1d089f43e7fb6ff9eec3 (patch) | |
| tree | 7e616ca46caec729c3d3ebb9656c8d57305d11b9 /src/comp | |
| parent | ad66d72e6c0f77d7c6a094cf3fc5799b65824c87 (diff) | |
| download | rust-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.rs | 10 |
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 { |
