@@ -305,11 +305,11 @@ impl<'a, 'tcx, Bx: BuilderMethods<'a, 'tcx>> FunctionCx<'a, 'tcx, Bx> { |
|
|
|
|
|
305 |
305 |
imm = match (from_scalar.primitive(), to_scalar.primitive()) { |
|
|
|
306 |
306 |
(Int(..) | F32 |
F64, Int(..) |
F32 |
F64) => bx.bitcast(imm, to_backend_ty), |
307 |
307 |
(Pointer(..), Pointer(..)) => bx.pointercast(imm, to_backend_ty), |
|
|
|
308 |
|
-(Int(..), Pointer(..)) => bx.inttoptr(imm, to_backend_ty), |
|
|
|
|
308 |
+(Int(..), Pointer(..)) => bx.gep(bx.type_i8(), bx.const_null(bx.type_ptr()), &[imm]), |
|
|
|
309 |
309 |
(Pointer(..), Int(..)) => bx.ptrtoint(imm, to_backend_ty), |
|
|
|
310 |
310 |
(F32 | F64, Pointer(..)) => { |
|
|
|
311 |
311 |
let int_imm = bx.bitcast(imm, bx.cx().type_isize()); |
|
|
|
312 |
|
- bx.inttoptr(int_imm, to_backend_ty) |
|
|
|
|
312 |
+ bx.gep(bx.type_i8(), bx.const_null(bx.type_ptr()), &[int_imm]) |
|
|
|
313 |
313 |
} |
|
|
|
314 |
314 |
(Pointer(..), F32 | F64) => { |
|
|
|
315 |
315 |
let int_imm = bx.ptrtoint(imm, bx.cx().type_isize()); |
|
|
|