diff --git a/src/llvm_backend_debug.cpp b/src/llvm_backend_debug.cpp index 1b8e02a36..511ff0475 100644 --- a/src/llvm_backend_debug.cpp +++ b/src/llvm_backend_debug.cpp @@ -925,7 +925,7 @@ gb_internal LLVMMetadataRef lb_debug_type(lbModule *m, Type *type) { String name = type->Named.name; if (type->Named.type_name && type->Named.type_name->pkg && type->Named.type_name->pkg->name.len != 0) { - name = concatenate3_strings(permanent_allocator(), type->Named.type_name->pkg->name, str_lit("."), type->Named.name); + name = concatenate3_strings(temporary_allocator(), type->Named.type_name->pkg->name, str_lit("."), type->Named.name); } Type *bt = base_type(type->Named.base); @@ -945,7 +945,7 @@ gb_internal LLVMMetadataRef lb_debug_type(lbModule *m, Type *type) { } case Type_Map: { - bt = base_type(type->Map.debug_metadata_type); + bt = base_type(bt->Map.debug_metadata_type); GB_ASSERT(bt->kind == Type_Struct); return lb_debug_struct(m, type, bt, name, scope, file, line); }