From bc636e4b368dceb073ea2756a3503378f3ac04aa Mon Sep 17 00:00:00 2001 From: gingerBill Date: Thu, 12 Mar 2026 12:56:00 +0000 Subject: [PATCH] raddbg debug view for fixed capacity dynamic arrays --- src/llvm_backend.cpp | 1 + src/llvm_backend_debug.cpp | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/llvm_backend.cpp b/src/llvm_backend.cpp index 931813f42..a4259b01e 100644 --- a/src/llvm_backend.cpp +++ b/src/llvm_backend.cpp @@ -3583,6 +3583,7 @@ gb_internal bool lb_generate_code(lbGenerator *gen) { lb_add_raddbg_string(m, "type_view: {type: \"[]?\", expr: \"array(data, len)\"}"); lb_add_raddbg_string(m, "type_view: {type: \"string\", expr: \"array(data, len)\"}"); lb_add_raddbg_string(m, "type_view: {type: \"[dynamic]?\", expr: \"rows($, array(data, len), len, cap, allocator)\"}"); + lb_add_raddbg_string(m, "type_view: {type: \"[dynamic;?]?\", expr: \"rows($, array(data, len), len)\"}"); // column major matrices lb_add_raddbg_string(m, "type_view: {type: \"matrix[1, ?]?\", expr: \"columns($.data, $[0])\"}"); diff --git a/src/llvm_backend_debug.cpp b/src/llvm_backend_debug.cpp index 4b09d3d5e..d3e63cbf7 100644 --- a/src/llvm_backend_debug.cpp +++ b/src/llvm_backend_debug.cpp @@ -442,14 +442,14 @@ gb_internal LLVMMetadataRef lb_debug_fixed_capacity_dynamic_array(lbModule *m, T LLVMDIFlagZero, lb_debug_type(m, elem_type) ); - i64 len_offset = type_offset_of(bt, 1); + i64 len_offset_in_bits = 8*type_offset_of(bt, 1); elements[1] = LLVMDIBuilderCreateMemberType( m->debug_builder, member_scope, "len", 3, file, line, int_bits, int_bits, - len_offset, + len_offset_in_bits, LLVMDIFlagZero, lb_debug_type(m, t_int) );