Skip to content

Commit 92921bd

Browse files
committed
---
yaml --- r: 964 b: refs/heads/master c: a95dbde h: refs/heads/master v: v3
1 parent d0c33d6 commit 92921bd

File tree

2 files changed

+8
-4
lines changed

2 files changed

+8
-4
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
11
---
2-
refs/heads/master: 9b3182a99d8fc63f464a53e52de9a2a7fa22def8
2+
refs/heads/master: a95dbdef702e4c3a1d6f0801f947eba53cb21a15

trunk/src/comp/middle/trans.rs

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -637,8 +637,10 @@ fn build_memcpy(@block_ctxt cx,
637637
auto memcpy = cx.fcx.ccx.intrinsics.get("llvm.memcpy");
638638
auto src_ptr = cx.build.PointerCast(src, T_ptr(T_i8()));
639639
auto dst_ptr = cx.build.PointerCast(dst, T_ptr(T_i8()));
640-
auto size = lib.llvm.llvm.LLVMSizeOf(llty);
641-
auto align = lib.llvm.llvm.LLVMAlignOf(llty);
640+
auto size = cx.build.IntCast(lib.llvm.llvm.LLVMSizeOf(llty),
641+
T_i32());
642+
auto align = cx.build.IntCast(lib.llvm.llvm.LLVMAlignOf(llty),
643+
T_i32());
642644
auto volatile = C_integral(0, T_i1());
643645
ret res(cx, cx.build.Call(memcpy,
644646
vec(dst_ptr, src_ptr,
@@ -1670,7 +1672,9 @@ fn declare_intrinsics(ModuleRef llmod) -> hashmap[str,ValueRef] {
16701672
// FIXME: switch this to 64-bit memcpy when targeting a 64-bit system.
16711673
let vec[TypeRef] T_memcpy_args = vec(T_ptr(T_i8()),
16721674
T_ptr(T_i8()),
1673-
T_i32(), T_i32(), T_i1());
1675+
T_i32(),
1676+
T_i32(),
1677+
T_i1());
16741678
auto trap = decl_cdecl_fn(llmod, "llvm.trap",
16751679
T_fn(T_trap_args, T_void()));
16761680
auto memcpy = decl_cdecl_fn(llmod, "llvm.memcpy",

0 commit comments

Comments
 (0)