| author | |
| committer | |
| log | fdc24e66084c40cfbdb6ed459799f77ea405c4ac |
| tree | fb13690c2e7bc80942193f1ac51ad1f795dd4fe9 |
| parent | 15bdba410a37464f588f0ec1ddde2dfeb9694c16 |
stage2 already has this fixed; debug info is given size in bits rather
than ABI size (bytes) multiplied by 8.
closes #115872 files changed, 11 insertions(+), 7 deletions(-)
src/stage1/analyze.cpp+9-4| ... | @@ -9368,7 +9368,7 @@ static void resolve_llvm_types_integer(CodeGen *g, ZigType *type) { | ... | @@ -9368,7 +9368,7 @@ static void resolve_llvm_types_integer(CodeGen *g, ZigType *type) { |
| 9368 | } | 9368 | } |
| 9369 | 9369 | ||
| 9370 | type->llvm_di_type = ZigLLVMCreateDebugBasicType(g->dbuilder, buf_ptr(&type->name), | 9370 | type->llvm_di_type = ZigLLVMCreateDebugBasicType(g->dbuilder, buf_ptr(&type->name), |
| 9371 | type->abi_size * 8, dwarf_tag); | 9371 | type->size_in_bits, dwarf_tag); |
| 9372 | type->llvm_type = LLVMIntType(type->size_in_bits); | 9372 | type->llvm_type = LLVMIntType(type->size_in_bits); |
| 9373 | } | 9373 | } |
| 9374 | 9374 | ||
| ... | @@ -9932,9 +9932,14 @@ static void resolve_llvm_types(CodeGen *g, ZigType *type, ResolveStatus wanted_r | ... | @@ -9932,9 +9932,14 @@ static void resolve_llvm_types(CodeGen *g, ZigType *type, ResolveStatus wanted_r |
| 9932 | case ZigTypeIdVector: { | 9932 | case ZigTypeIdVector: { |
| 9933 | if (type->llvm_di_type != nullptr) return; | 9933 | if (type->llvm_di_type != nullptr) return; |
| 9934 | 9934 | ||
| 9935 | type->llvm_type = LLVMVectorType(get_llvm_type(g, type->data.vector.elem_type), type->data.vector.len); | 9935 | type->llvm_type = LLVMVectorType(get_llvm_type(g, type->data.vector.elem_type), |
| 9936 | type->llvm_di_type = ZigLLVMDIBuilderCreateVectorType(g->dbuilder, 8 * type->abi_size, | 9936 | type->data.vector.len); |
| 9937 | type->abi_align, get_llvm_di_type(g, type->data.vector.elem_type), type->data.vector.len); | 9937 | |
| 9938 | type->llvm_di_type = ZigLLVMDIBuilderCreateVectorType(g->dbuilder, | ||
| 9939 | 8 * type->abi_size, | ||
| 9940 | 8 * type->abi_align, | ||
| 9941 | get_llvm_di_type(g, type->data.vector.elem_type), | ||
| 9942 | type->data.vector.len); | ||
| 9938 | return; | 9943 | return; |
| 9939 | } | 9944 | } |
| 9940 | case ZigTypeIdFnFrame: | 9945 | case ZigTypeIdFnFrame: |
src/stage1/codegen.cpp+2-3| ... | @@ -9514,7 +9514,7 @@ static void define_builtin_types(CodeGen *g) { | ... | @@ -9514,7 +9514,7 @@ static void define_builtin_types(CodeGen *g) { |
| 9514 | buf_init_from_str(&entry->name, info->name); | 9514 | buf_init_from_str(&entry->name, info->name); |
| 9515 | 9515 | ||
| 9516 | entry->llvm_di_type = ZigLLVMCreateDebugBasicType(g->dbuilder, buf_ptr(&entry->name), | 9516 | entry->llvm_di_type = ZigLLVMCreateDebugBasicType(g->dbuilder, buf_ptr(&entry->name), |
| 9517 | 8*LLVMStoreSizeOfType(g->target_data_ref, entry->llvm_type), | 9517 | size_in_bits, |
| 9518 | is_signed ? ZigLLVMEncoding_DW_ATE_signed() : ZigLLVMEncoding_DW_ATE_unsigned()); | 9518 | is_signed ? ZigLLVMEncoding_DW_ATE_signed() : ZigLLVMEncoding_DW_ATE_unsigned()); |
| 9519 | entry->data.integral.is_signed = is_signed; | 9519 | entry->data.integral.is_signed = is_signed; |
| 9520 | entry->data.integral.bit_count = size_in_bits; | 9520 | entry->data.integral.bit_count = size_in_bits; |
| ... | @@ -9531,8 +9531,7 @@ static void define_builtin_types(CodeGen *g) { | ... | @@ -9531,8 +9531,7 @@ static void define_builtin_types(CodeGen *g) { |
| 9531 | entry->abi_align = LLVMABIAlignmentOfType(g->target_data_ref, entry->llvm_type); | 9531 | entry->abi_align = LLVMABIAlignmentOfType(g->target_data_ref, entry->llvm_type); |
| 9532 | buf_init_from_str(&entry->name, "bool"); | 9532 | buf_init_from_str(&entry->name, "bool"); |
| 9533 | entry->llvm_di_type = ZigLLVMCreateDebugBasicType(g->dbuilder, buf_ptr(&entry->name), | 9533 | entry->llvm_di_type = ZigLLVMCreateDebugBasicType(g->dbuilder, buf_ptr(&entry->name), |
| 9534 | 8*LLVMStoreSizeOfType(g->target_data_ref, entry->llvm_type), | 9534 | 1, ZigLLVMEncoding_DW_ATE_boolean()); |
| 9535 | ZigLLVMEncoding_DW_ATE_boolean()); | ||
| 9536 | g->builtin_types.entry_bool = entry; | 9535 | g->builtin_types.entry_bool = entry; |
| 9537 | g->primitive_type_table.put(&entry->name, entry); | 9536 | g->primitive_type_table.put(&entry->name, entry); |
| 9538 | } | 9537 | } |