diff --git a/src/analyze.cpp b/src/analyze.cpp index c9123912fe66fcdbc21d88aaa0e84a2a3beb0bc0..81874e0fdb99474e8173172b3b3c4a126773c816 100644 --- a/src/analyze.cpp +++ b/src/analyze.cpp @@ -2515,6 +2515,7 @@ static TypeTableEntry *analyze_lvalue(CodeGen *g, ImportTableEntry *import, Bloc expected_rhs_type = g->builtin_types.entry_invalid; } else { expected_rhs_type = var->type; + lhs_node->data.symbol_expr.variable = var; } } else { add_node_error(g, lhs_node, diff --git a/src/codegen.cpp b/src/codegen.cpp index f534519062432dd248206987313460a892b01a1d..16797881c59eb0e717fecfbc663e3974febec629 100644 --- a/src/codegen.cpp +++ b/src/codegen.cpp @@ -889,8 +889,7 @@ static LLVMValueRef gen_lvalue(CodeGen *g, AstNode *expr_node, AstNode *node, LLVMValueRef target_ref; if (node->type == NodeTypeSymbol) { - VariableTableEntry *var = find_variable(expr_node->block_context, - &node->data.symbol_expr.symbol); + VariableTableEntry *var = node->data.symbol_expr.variable; assert(var); *out_type_entry = var->type;