Browse Source

actually fix #no_nil debug info

Fixes #4664
Laytan Laats 8 months ago
parent
commit
7185a93a86
1 changed files with 6 additions and 1 deletions
  1. 6 1
      src/llvm_backend_debug.cpp

+ 6 - 1
src/llvm_backend_debug.cpp

@@ -438,8 +438,13 @@ gb_internal LLVMMetadataRef lb_debug_union(lbModule *m, Type *type, String name,
 	for_array(j, bt->Union.variants) {
 		Type *variant = bt->Union.variants[j];
 
+		ptrdiff_t variant_index = j;
+		if (bt->Union.kind == UnionType_no_nil) {
+			variant_index += 1;
+		}
+
 		char name[32] = {};
-		gb_snprintf(name, gb_size_of(name), "v%td", j);
+		gb_snprintf(name, gb_size_of(name), "v%td", variant_index);
 		isize name_len = gb_strlen(name);
 
 		elements[index_offset+j] = LLVMDIBuilderCreateMemberType(