| ... | ... | @@ -17921,8 +17921,12 @@ static IrInstruction *ir_get_var_ptr(IrAnalyze *ira, IrInstruction *instruction, |
| 17921 | 17921 | var = var->next_var; |
| 17922 | 17922 | } |
| 17923 | 17923 | |
| 17924 | bool is_volatile = false; |
| 17925 | ZigType *var_ptr_type = get_pointer_to_type_extra(ira->codegen, var->var_type, |
| 17926 | var->src_is_const, is_volatile, PtrLenSingle, var->align_bytes, 0, 0, false); |
| 17927 | |
| 17924 | 17928 | if (var->ptr_instruction != nullptr) { |
| 17925 | | return var->ptr_instruction; |
| 17929 | return ir_implicit_cast(ira, var->ptr_instruction, var_ptr_type); |
| 17926 | 17930 | } |
| 17927 | 17931 | |
| 17928 | 17932 | if (var->var_type == nullptr || type_is_invalid(var->var_type)) |
| ... | ... | @@ -17932,12 +17936,10 @@ static IrInstruction *ir_get_var_ptr(IrAnalyze *ira, IrInstruction *instruction, |
| 17932 | 17936 | |
| 17933 | 17937 | bool comptime_var_mem = ir_get_var_is_comptime(var); |
| 17934 | 17938 | bool linkage_makes_it_runtime = var->decl_node->data.variable_declaration.is_extern; |
| 17935 | | bool is_volatile = false; |
| 17936 | 17939 | |
| 17937 | 17940 | IrInstruction *result = ir_build_var_ptr(&ira->new_irb, |
| 17938 | 17941 | instruction->scope, instruction->source_node, var); |
| 17939 | | result->value->type = get_pointer_to_type_extra(ira->codegen, var->var_type, |
| 17940 | | var->src_is_const, is_volatile, PtrLenSingle, var->align_bytes, 0, 0, false); |
| 17942 | result->value->type = var_ptr_type; |
| 17941 | 17943 | |
| 17942 | 17944 | if (linkage_makes_it_runtime || var->is_thread_local) |
| 17943 | 17945 | goto no_mem_slot; |