| ... | ... | @@ -13495,8 +13495,18 @@ static IrInstruction *ir_analyze_container_field_ptr(IrAnalyze *ira, Buf *field_ |
| 13495 | 13495 | } |
| 13496 | 13496 | |
| 13497 | 13497 | ConstExprValue *payload_val = union_val->data.x_union.payload; |
| 13498 | | TypeTableEntry *ptr_type = get_pointer_to_type_extra(ira->codegen, payload_val->type, is_const, is_volatile, |
| 13499 | | get_abi_alignment(ira->codegen, payload_val->type), 0, 0); |
| 13498 | |
| 13499 | TypeTableEntry *field_type = field->type_entry; |
| 13500 | if (field_type->id == TypeTableEntryIdVoid) |
| 13501 | { |
| 13502 | assert(payload_val == nullptr); |
| 13503 | payload_val = create_const_vals(1); |
| 13504 | payload_val->special = ConstValSpecialStatic; |
| 13505 | payload_val->type = field_type; |
| 13506 | } |
| 13507 | |
| 13508 | TypeTableEntry *ptr_type = get_pointer_to_type_extra(ira->codegen, field_type, is_const, is_volatile, |
| 13509 | get_abi_alignment(ira->codegen, field_type), 0, 0); |
| 13500 | 13510 | |
| 13501 | 13511 | IrInstruction *result = ir_get_const(ira, source_instr); |
| 13502 | 13512 | ConstExprValue *const_val = &result->value; |
| ... | ... | @@ -15749,7 +15759,6 @@ static ConstExprValue *ir_make_type_info_value(IrAnalyze *ira, ConstExprValue *p |
| 15749 | 15759 | case TypeTableEntryIdBlock: |
| 15750 | 15760 | case TypeTableEntryIdArgTuple: |
| 15751 | 15761 | case TypeTableEntryIdOpaque: |
| 15752 | | // TODO: Construct a valid void payload. |
| 15753 | 15762 | return nullptr; |
| 15754 | 15763 | case TypeTableEntryIdInt: |
| 15755 | 15764 | { |