mirror of
https://github.com/odin-lang/Odin.git
synced 2025-12-31 18:32:12 +00:00
Fix Compiler panic with SIMD Vector debug information #481
This commit is contained in:
13
src/ir.cpp
13
src/ir.cpp
@@ -2684,6 +2684,19 @@ 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);
|
||||
}
|
||||
|
||||
if (is_type_simd_vector(type)) {
|
||||
irDebugInfo *di = ir_alloc_debug_info(irDebugInfo_CompositeType);
|
||||
di->CompositeType.size = ir_debug_size_bits(type);
|
||||
di->CompositeType.align = ir_debug_align_bits(type);
|
||||
di->CompositeType.tag = irDebugBasicEncoding_array_type;
|
||||
di->CompositeType.array_count = (i32)type->SimdVector.count;
|
||||
|
||||
map_set(&module->debug_info, hash_type(type), di);
|
||||
di->CompositeType.base_type = ir_add_debug_info_type(module, type->SimdVector.elem, e, scope, file);
|
||||
GB_ASSERT(base->kind != Type_Named);
|
||||
return di;
|
||||
}
|
||||
|
||||
GB_PANIC("Unreachable %s", type_to_string(type));
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user