| ... | ... | @@ -14365,11 +14365,11 @@ static IrInstruction *ir_resolve_result(IrAnalyze *ira, ResultLoc *result_loc, Z |
| 14365 | 14365 | assert(result_loc->source_instruction->id == IrInstructionIdAllocaSrc); |
| 14366 | 14366 | IrInstructionAllocaSrc *alloca_src = |
| 14367 | 14367 | reinterpret_cast<IrInstructionAllocaSrc *>(result_loc->source_instruction); |
| 14368 | | bool is_comptime = value != nullptr && value->value.special != ConstValSpecialRuntime && |
| 14369 | | result_loc_var->var->gen_is_const; |
| 14370 | 14368 | if (alloca_src->base.child == nullptr) { |
| 14371 | 14369 | uint32_t align = 0; // TODO |
| 14372 | 14370 | bool force_comptime = false; // TODO |
| 14371 | bool is_comptime = value != nullptr && value->value.special != ConstValSpecialRuntime && |
| 14372 | result_loc_var->var->gen_is_const; |
| 14373 | 14373 | IrInstruction *alloca_gen; |
| 14374 | 14374 | if (is_comptime) { |
| 14375 | 14375 | alloca_gen = ir_get_ref(ira, result_loc->source_instruction, value, true, false); |
| ... | ... | @@ -14378,10 +14378,13 @@ static IrInstruction *ir_resolve_result(IrAnalyze *ira, ResultLoc *result_loc, Z |
| 14378 | 14378 | alloca_src->name_hint, force_comptime); |
| 14379 | 14379 | } |
| 14380 | 14380 | alloca_src->base.child = alloca_gen; |
| 14381 | return is_comptime ? nullptr : alloca_src->base.child; |
| 14381 | 14382 | } |
| 14382 | | return is_comptime ? nullptr : alloca_src->base.child; |
| 14383 | return nullptr; |
| 14383 | 14384 | } |
| 14384 | 14385 | case ResultLocIdReturn: { |
| 14386 | bool is_comptime = value != nullptr && value->value.special != ConstValSpecialRuntime; |
| 14387 | if (is_comptime) return nullptr; |
| 14385 | 14388 | ZigType *ptr_return_type = get_pointer_to_type(ira->codegen, ira->explicit_return_type, false); |
| 14386 | 14389 | return ir_build_return_ptr(ira, result_loc->source_instruction, ptr_return_type); |
| 14387 | 14390 | } |