Fix assertion crash on enum switch values
This commit is contained in:
@@ -19149,9 +19149,14 @@ static TypeTableEntry *ir_analyze_instruction_check_switch_prongs(IrAnalyze *ira
|
||||
if (!end_val)
|
||||
return ira->codegen->builtin_types.entry_invalid;
|
||||
|
||||
printf("%s\n", buf_ptr(&start_val->type->name));
|
||||
if (start_val->type->id == TypeTableEntryIdEnum)
|
||||
return ira->codegen->builtin_types.entry_invalid;
|
||||
assert(start_val->type->id == TypeTableEntryIdInt || start_val->type->id == TypeTableEntryIdComptimeInt);
|
||||
|
||||
if (end_val->type->id == TypeTableEntryIdEnum)
|
||||
return ira->codegen->builtin_types.entry_invalid;
|
||||
assert(end_val->type->id == TypeTableEntryIdInt || end_val->type->id == TypeTableEntryIdComptimeInt);
|
||||
|
||||
AstNode *prev_node = rangeset_add_range(&rs, &start_val->data.x_bigint, &end_val->data.x_bigint,
|
||||
start_value->source_node);
|
||||
if (prev_node != nullptr) {
|
||||
|
||||
Reference in New Issue
Block a user