From 17c0812ae48533e4207dd9ffc5408f781020ce97 Mon Sep 17 00:00:00 2001 From: Dale Weiler Date: Thu, 24 Nov 2016 15:50:48 +0000 Subject: [PATCH] Just mark LOCAL_RETURN noref instead of checking for '#' in the name --- ir.cpp | 3 +-- parser.cpp | 1 + 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/ir.cpp b/ir.cpp index 3b78c35..f5bc452 100644 --- a/ir.cpp +++ b/ir.cpp @@ -656,8 +656,7 @@ bool ir_function_finalize(ir_function *self) return false; } // just a standard variable - else if (v->m_name[0] != '#' - && irwarning(v->m_context, WARN_UNUSED_VARIABLE, + else if (irwarning(v->m_context, WARN_UNUSED_VARIABLE, "unused variable: `%s`", v->m_name.c_str())) return false; } } diff --git a/parser.cpp b/parser.cpp index ed5bde1..e365316 100644 --- a/parser.cpp +++ b/parser.cpp @@ -2630,6 +2630,7 @@ static bool parse_return(parser_t *parser, ast_block *block, ast_expression **ou retval = new ast_value(ctx, "#LOCAL_RETURN", TYPE_VOID); retval->adoptType(*expected->m_next); parser->function->m_return_value = retval; + parser->function->m_return_value->m_flags |= AST_FLAG_NOREF; } if (!exp->compareType(*retval)) { -- 2.39.2