浏览代码

actually fix #no_nil debug info

Fixes #4664
Laytan Laats 8 月之前
父节点
当前提交
7185a93a86
共有 1 个文件被更改,包括 6 次插入1 次删除
  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(