diff --git a/src/stage1/analyze.cpp b/src/stage1/analyze.cpp index 8faf3c0fc9..9a6a526aef 100644 --- a/src/stage1/analyze.cpp +++ b/src/stage1/analyze.cpp @@ -9368,7 +9368,7 @@ static void resolve_llvm_types_integer(CodeGen *g, ZigType *type) { } type->llvm_di_type = ZigLLVMCreateDebugBasicType(g->dbuilder, buf_ptr(&type->name), - type->abi_size * 8, dwarf_tag); + type->size_in_bits, dwarf_tag); type->llvm_type = LLVMIntType(type->size_in_bits); } @@ -9932,9 +9932,14 @@ static void resolve_llvm_types(CodeGen *g, ZigType *type, ResolveStatus wanted_r case ZigTypeIdVector: { if (type->llvm_di_type != nullptr) return; - type->llvm_type = LLVMVectorType(get_llvm_type(g, type->data.vector.elem_type), type->data.vector.len); - type->llvm_di_type = ZigLLVMDIBuilderCreateVectorType(g->dbuilder, 8 * type->abi_size, - type->abi_align, get_llvm_di_type(g, type->data.vector.elem_type), type->data.vector.len); + type->llvm_type = LLVMVectorType(get_llvm_type(g, type->data.vector.elem_type), + type->data.vector.len); + + type->llvm_di_type = ZigLLVMDIBuilderCreateVectorType(g->dbuilder, + 8 * type->abi_size, + 8 * type->abi_align, + get_llvm_di_type(g, type->data.vector.elem_type), + type->data.vector.len); return; } case ZigTypeIdFnFrame: diff --git a/src/stage1/codegen.cpp b/src/stage1/codegen.cpp index bb0cbd9b9f..65302967df 100644 --- a/src/stage1/codegen.cpp +++ b/src/stage1/codegen.cpp @@ -9514,7 +9514,7 @@ static void define_builtin_types(CodeGen *g) { buf_init_from_str(&entry->name, info->name); entry->llvm_di_type = ZigLLVMCreateDebugBasicType(g->dbuilder, buf_ptr(&entry->name), - 8*LLVMStoreSizeOfType(g->target_data_ref, entry->llvm_type), + size_in_bits, is_signed ? ZigLLVMEncoding_DW_ATE_signed() : ZigLLVMEncoding_DW_ATE_unsigned()); entry->data.integral.is_signed = is_signed; entry->data.integral.bit_count = size_in_bits; @@ -9531,8 +9531,7 @@ static void define_builtin_types(CodeGen *g) { entry->abi_align = LLVMABIAlignmentOfType(g->target_data_ref, entry->llvm_type); buf_init_from_str(&entry->name, "bool"); entry->llvm_di_type = ZigLLVMCreateDebugBasicType(g->dbuilder, buf_ptr(&entry->name), - 8*LLVMStoreSizeOfType(g->target_data_ref, entry->llvm_type), - ZigLLVMEncoding_DW_ATE_boolean()); + 1, ZigLLVMEncoding_DW_ATE_boolean()); g->builtin_types.entry_bool = entry; g->primitive_type_table.put(&entry->name, entry); }