aboutsummaryrefslogtreecommitdiff
path: root/src/llvm_backend_debug.cpp
diff options
context:
space:
mode:
authorgingerBill <gingerBill@users.noreply.github.com>2023-08-07 11:02:01 +0100
committerGitHub <noreply@github.com>2023-08-07 11:02:01 +0100
commit77e5854a16ea9396752d784510169c5856f044ae (patch)
tree61f1a2a43bd1ff52a1d7fa02bb4660e524221edf /src/llvm_backend_debug.cpp
parentcb5c8219898445a5501a95107c0200ea68b89a39 (diff)
parent2a42dab108ea1c70962815cc714c0b4d3e42a719 (diff)
Merge branch 'master' into stdlib-parser-fixes
Diffstat (limited to 'src/llvm_backend_debug.cpp')
-rw-r--r--src/llvm_backend_debug.cpp17
1 files changed, 5 insertions, 12 deletions
diff --git a/src/llvm_backend_debug.cpp b/src/llvm_backend_debug.cpp
index b9c6c606e..e053c5b40 100644
--- a/src/llvm_backend_debug.cpp
+++ b/src/llvm_backend_debug.cpp
@@ -442,19 +442,12 @@ gb_internal LLVMMetadataRef lb_debug_type_internal(lbModule *m, Type *type) {
gbString name = type_to_string(type, temporary_allocator());
return LLVMDIBuilderCreateTypedef(m->debug_builder, base_integer, name, gb_string_length(name), nullptr, 0, nullptr, cast(u32)(8*type_align_of(type)));
}
+ case Type_RelativeMultiPointer: {
+ LLVMMetadataRef base_integer = lb_debug_type(m, type->RelativeMultiPointer.base_integer);
+ gbString name = type_to_string(type, temporary_allocator());
+ return LLVMDIBuilderCreateTypedef(m->debug_builder, base_integer, name, gb_string_length(name), nullptr, 0, nullptr, cast(u32)(8*type_align_of(type)));
+ }
- case Type_RelativeSlice:
- {
- unsigned element_count = 0;
- LLVMMetadataRef elements[2] = {};
- Type *base_integer = type->RelativeSlice.base_integer;
- unsigned base_bits = cast(unsigned)(8*type_size_of(base_integer));
- elements[0] = lb_debug_struct_field(m, str_lit("data_offset"), base_integer, 0);
- elements[1] = lb_debug_struct_field(m, str_lit("len"), base_integer, base_bits);
- gbString name = type_to_string(type, temporary_allocator());
- return LLVMDIBuilderCreateStructType(m->debug_builder, nullptr, name, gb_string_length(name), nullptr, 0, 2*base_bits, base_bits, LLVMDIFlagZero, nullptr, elements, element_count, 0, nullptr, "", 0);
- }
-
case Type_Matrix: {
LLVMMetadataRef subscripts[1] = {};
subscripts[0] = LLVMDIBuilderGetOrCreateSubrange(m->debug_builder,