From 44d6f8ffd8eac02747fa0f915b925bb2112570dd Mon Sep 17 00:00:00 2001 From: Andrew Kelley Date: Sun, 23 Oct 2016 01:33:23 -0400 Subject: IR supports variable assignment --- src/codegen.cpp | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'src/codegen.cpp') diff --git a/src/codegen.cpp b/src/codegen.cpp index 8a81e62a1f..11e4903ded 100644 --- a/src/codegen.cpp +++ b/src/codegen.cpp @@ -2808,6 +2808,9 @@ static LLVMValueRef ir_render_decl_var(CodeGen *g, IrExecutable *executable, if (!type_has_bits(var->type)) return nullptr; + if (var->ref_count == 0) + return nullptr; + IrInstruction *init_value = decl_var_instruction->init_value; bool have_init_expr = false; @@ -4348,6 +4351,8 @@ static void do_code_gen(CodeGen *g) { if (!type_has_bits(var->type)) { continue; } + if (var->ref_count == 0) + continue; if (var->block_context->node->type == NodeTypeFnDef) { assert(var->gen_arg_index != SIZE_MAX); -- cgit v1.2.3