| ... | @@ -15474,6 +15474,8 @@ static TypeTableEntry *ir_analyze_instruction_asm(IrAnalyze *ira, IrInstructionA | ... | @@ -15474,6 +15474,8 @@ static TypeTableEntry *ir_analyze_instruction_asm(IrAnalyze *ira, IrInstructionA |
| 15474 | static TypeTableEntry *ir_analyze_instruction_array_type(IrAnalyze *ira, | 15474 | static TypeTableEntry *ir_analyze_instruction_array_type(IrAnalyze *ira, |
| 15475 | IrInstructionArrayType *array_type_instruction) | 15475 | IrInstructionArrayType *array_type_instruction) |
| 15476 | { | 15476 | { |
| | 15477 | Error err; |
| | 15478 | |
| 15477 | IrInstruction *size_value = array_type_instruction->size->other; | 15479 | IrInstruction *size_value = array_type_instruction->size->other; |
| 15478 | uint64_t size; | 15480 | uint64_t size; |
| 15479 | if (!ir_resolve_usize(ira, size_value, &size)) | 15481 | if (!ir_resolve_usize(ira, size_value, &size)) |
| ... | @@ -15515,6 +15517,8 @@ static TypeTableEntry *ir_analyze_instruction_array_type(IrAnalyze *ira, | ... | @@ -15515,6 +15517,8 @@ static TypeTableEntry *ir_analyze_instruction_array_type(IrAnalyze *ira, |
| 15515 | case TypeTableEntryIdBoundFn: | 15517 | case TypeTableEntryIdBoundFn: |
| 15516 | case TypeTableEntryIdPromise: | 15518 | case TypeTableEntryIdPromise: |
| 15517 | { | 15519 | { |
| | 15520 | if ((err = ensure_complete_type(ira->codegen, child_type))) |
| | 15521 | return ira->codegen->builtin_types.entry_invalid; |
| 15518 | TypeTableEntry *result_type = get_array_type(ira->codegen, child_type, size); | 15522 | TypeTableEntry *result_type = get_array_type(ira->codegen, child_type, size); |
| 15519 | ConstExprValue *out_val = ir_build_const_from(ira, &array_type_instruction->base); | 15523 | ConstExprValue *out_val = ir_build_const_from(ira, &array_type_instruction->base); |
| 15520 | out_val->data.x_type = result_type; | 15524 | out_val->data.x_type = result_type; |