| ... | @@ -18982,7 +18982,7 @@ static IrInstGen *ir_analyze_async_call(IrAnalyze *ira, IrInst* source_instr, Zi | ... | @@ -18982,7 +18982,7 @@ static IrInstGen *ir_analyze_async_call(IrAnalyze *ira, IrInst* source_instr, Zi |
| 18982 | if (type_is_invalid(result_loc->value->type) || result_loc->value->type->id == ZigTypeIdUnreachable) { | 18982 | if (type_is_invalid(result_loc->value->type) || result_loc->value->type->id == ZigTypeIdUnreachable) { |
| 18983 | return result_loc; | 18983 | return result_loc; |
| 18984 | } | 18984 | } |
| 18985 | result_loc = ir_implicit_cast2(ira, &call_result_loc->source_instruction->base, result_loc, | 18985 | result_loc = ir_implicit_cast2(ira, source_instr, result_loc, |
| 18986 | get_pointer_to_type(ira->codegen, frame_type, false)); | 18986 | get_pointer_to_type(ira->codegen, frame_type, false)); |
| 18987 | if (type_is_invalid(result_loc->value->type)) | 18987 | if (type_is_invalid(result_loc->value->type)) |
| 18988 | return ira->codegen->invalid_inst_gen; | 18988 | return ira->codegen->invalid_inst_gen; |
| ... | @@ -19967,14 +19967,16 @@ static IrInstGen *ir_analyze_call_extra(IrAnalyze *ira, IrInst* source_instr, | ... | @@ -19967,14 +19967,16 @@ static IrInstGen *ir_analyze_call_extra(IrAnalyze *ira, IrInst* source_instr, |
| 19967 | return ira->codegen->invalid_inst_gen; | 19967 | return ira->codegen->invalid_inst_gen; |
| 19968 | | 19968 | |
| 19969 | IrInstGen *stack = nullptr; | 19969 | IrInstGen *stack = nullptr; |
| | 19970 | IrInst *stack_src = nullptr; |
| 19970 | if (stack_is_non_null) { | 19971 | if (stack_is_non_null) { |
| 19971 | stack = ir_analyze_optional_value_payload_value(ira, source_instr, opt_stack, false); | 19972 | stack = ir_analyze_optional_value_payload_value(ira, source_instr, opt_stack, false); |
| 19972 | if (type_is_invalid(stack->value->type)) | 19973 | if (type_is_invalid(stack->value->type)) |
| 19973 | return ira->codegen->invalid_inst_gen; | 19974 | return ira->codegen->invalid_inst_gen; |
| | 19975 | stack_src = &stack->base; |
| 19974 | } | 19976 | } |
| 19975 | | 19977 | |
| 19976 | return ir_analyze_fn_call(ira, source_instr, fn, fn_type, fn_ref, first_arg_ptr, first_arg_ptr_src, | 19978 | return ir_analyze_fn_call(ira, source_instr, fn, fn_type, fn_ref, first_arg_ptr, first_arg_ptr_src, |
| 19977 | modifier, stack, &stack->base, false, args_ptr, args_len, nullptr, result_loc); | 19979 | modifier, stack, stack_src, false, args_ptr, args_len, nullptr, result_loc); |
| 19978 | } | 19980 | } |
| 19979 | | 19981 | |
| 19980 | static IrInstGen *ir_analyze_instruction_call_extra(IrAnalyze *ira, IrInstSrcCallExtra *instruction) { | 19982 | static IrInstGen *ir_analyze_instruction_call_extra(IrAnalyze *ira, IrInstSrcCallExtra *instruction) { |