Commit f78380b936
Changed files (1)
src
stage1
src/stage1/codegen.cpp
@@ -1645,11 +1645,13 @@ static void gen_assign_raw(CodeGen *g, LLVMValueRef ptr, ZigType *ptr_type,
ZigType *usize = g->builtin_types.entry_usize;
uint64_t size_bytes = LLVMStoreSizeOfType(g->target_data_ref, get_llvm_type(g, child_type));
- uint64_t align_bytes = get_ptr_align(g, ptr_type);
+ uint64_t src_align_bytes = get_abi_alignment(g, child_type);
+ uint64_t dest_align_bytes = get_ptr_align(g, ptr_type);
assert(size_bytes > 0);
- assert(align_bytes > 0);
+ assert(src_align_bytes > 0);
+ assert(dest_align_bytes > 0);
- ZigLLVMBuildMemCpy(g->builder, dest_ptr, align_bytes, src_ptr, align_bytes,
+ ZigLLVMBuildMemCpy(g->builder, dest_ptr, dest_align_bytes, src_ptr, src_align_bytes,
LLVMConstInt(usize->llvm_type, size_bytes, false),
ptr_type->data.pointer.is_volatile);
return;