| ... | @@ -23107,7 +23107,7 @@ static Error ir_make_type_info_value(IrAnalyze *ira, IrInstruction *source_instr | ... | @@ -23107,7 +23107,7 @@ static Error ir_make_type_info_value(IrAnalyze *ira, IrInstruction *source_instr |
| 23107 | result->special = ConstValSpecialStatic; | 23107 | result->special = ConstValSpecialStatic; |
| 23108 | result->type = ir_type_info_get_type(ira, "Enum", nullptr); | 23108 | result->type = ir_type_info_get_type(ira, "Enum", nullptr); |
| 23109 | | 23109 | |
| 23110 | ZigValue **fields = alloc_const_vals_ptrs(4); | 23110 | ZigValue **fields = alloc_const_vals_ptrs(5); |
| 23111 | result->data.x_struct.fields = fields; | 23111 | result->data.x_struct.fields = fields; |
| 23112 | | 23112 | |
| 23113 | // layout: ContainerLayout | 23113 | // layout: ContainerLayout |
| ... | @@ -23153,6 +23153,11 @@ static Error ir_make_type_info_value(IrAnalyze *ira, IrInstruction *source_instr | ... | @@ -23153,6 +23153,11 @@ static Error ir_make_type_info_value(IrAnalyze *ira, IrInstruction *source_instr |
| 23153 | { | 23153 | { |
| 23154 | return err; | 23154 | return err; |
| 23155 | } | 23155 | } |
| | 23156 | // is_exhaustive: bool |
| | 23157 | ensure_field_index(result->type, "is_exhaustive", 4); |
| | 23158 | fields[4]->special = ConstValSpecialStatic; |
| | 23159 | fields[4]->type = ira->codegen->builtin_types.entry_bool; |
| | 23160 | fields[4]->data.x_bool = !type_entry->data.enumeration.non_exhaustive; |
| 23156 | | 23161 | |
| 23157 | break; | 23162 | break; |
| 23158 | } | 23163 | } |