Fix debug info issue

This commit is contained in:
gingerBill
2018-10-29 22:16:43 +00:00
parent efe91b1f91
commit 5aa591d884
2 changed files with 4 additions and 3 deletions

View File

@@ -2270,7 +2270,8 @@ irDebugInfo *ir_add_debug_info_type(irModule *module, Type *type, Entity *e, irD
return di;
}
if (is_type_struct(type) || is_type_union(type) || is_type_enum(type) || is_type_tuple(type)) {
if (is_type_struct(type) ||
is_type_union(type) || is_type_enum(type) || is_type_tuple(type)) {
if (type->kind == Type_Named) {
// NOTE(lachsinc): Named named's should always be handled prior as typedefs.
GB_ASSERT(type->Named.base->kind != Type_Named);
@@ -2450,7 +2451,7 @@ irDebugInfo *ir_add_debug_info_type(irModule *module, Type *type, Entity *e, irD
return ir_add_debug_info_type_bit_set(module, type, e, scope);
}
GB_PANIC("Unreachable");
GB_PANIC("Unreachable %s", type_to_string(type));
return nullptr;
}

View File

@@ -912,7 +912,7 @@ Type *base_complex_elem_type(Type *t) {
bool is_type_struct(Type *t) {
t = base_type(t);
return (t->kind == Type_Struct && !t->Struct.is_raw_union);
return t->kind == Type_Struct;
}
bool is_type_union(Type *t) {
t = base_type(t);