mirror of
https://github.com/Ed94/Odin.git
synced 2026-08-06 15:48:51 +00:00
@@ -415,6 +415,7 @@ gb_internal LLVMMetadataRef lb_debug_union(lbModule *m, Type *type, String name,
|
|||||||
LLVMMetadataRef member_scope = lb_get_llvm_metadata(m, bt->Union.scope);
|
LLVMMetadataRef member_scope = lb_get_llvm_metadata(m, bt->Union.scope);
|
||||||
unsigned element_count = cast(unsigned)bt->Union.variants.count;
|
unsigned element_count = cast(unsigned)bt->Union.variants.count;
|
||||||
if (index_offset > 0) {
|
if (index_offset > 0) {
|
||||||
|
GB_ASSERT(index_offset == 1);
|
||||||
element_count += 1;
|
element_count += 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -437,13 +438,11 @@ gb_internal LLVMMetadataRef lb_debug_union(lbModule *m, Type *type, String name,
|
|||||||
for_array(j, bt->Union.variants) {
|
for_array(j, bt->Union.variants) {
|
||||||
Type *variant = bt->Union.variants[j];
|
Type *variant = bt->Union.variants[j];
|
||||||
|
|
||||||
unsigned field_index = cast(unsigned)(index_offset+j);
|
char name[32] = {};
|
||||||
|
gb_snprintf(name, gb_size_of(name), "v%td", j);
|
||||||
char name[16] = {};
|
|
||||||
gb_snprintf(name, gb_size_of(name), "v%u", field_index);
|
|
||||||
isize name_len = gb_strlen(name);
|
isize name_len = gb_strlen(name);
|
||||||
|
|
||||||
elements[field_index] = LLVMDIBuilderCreateMemberType(
|
elements[index_offset+j] = LLVMDIBuilderCreateMemberType(
|
||||||
m->debug_builder, member_scope,
|
m->debug_builder, member_scope,
|
||||||
name, name_len,
|
name, name_len,
|
||||||
file, line,
|
file, line,
|
||||||
|
|||||||
Reference in New Issue
Block a user