Browse Source

Fix debug info issue

gingerBill 6 years ago
parent
commit
5aa591d884
2 changed files with 4 additions and 3 deletions
  1. 3 2
      src/ir.cpp
  2. 1 1
      src/types.cpp

+ 3 - 2
src/ir.cpp

@@ -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;
 }
 

+ 1 - 1
src/types.cpp

@@ -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);