From: Wolfgang (Blub) Bumiller Date: Fri, 30 Nov 2012 13:30:25 +0000 (+0100) Subject: mark vectors as used when their members are used X-Git-Tag: 0.1.9~183 X-Git-Url: https://git.xonotic.org/?p=xonotic%2Fgmqcc.git;a=commitdiff_plain;h=eec61af381b2eb3ca47556b5deb3acdb6c2f29d9 mark vectors as used when their members are used --- diff --git a/parser.c b/parser.c index dab8b24..a9cc2e6 100644 --- a/parser.c +++ b/parser.c @@ -1412,8 +1412,14 @@ static ast_expression* parse_expression_leave(parser_t *parser, bool stopatcomma parseerror(parser, "unexpected ident: %s", parser_tokval(parser)); goto onerr; } - if (ast_istype(var, ast_value)) + if (ast_istype(var, ast_value)) { ((ast_value*)var)->uses++; + } + else if (ast_istype(var, ast_member)) { + ast_member *mem = (ast_member*)var; + if (ast_istype(mem->owner, ast_value)) + ((ast_value*)(mem->owner))->uses++; + } vec_push(sy.out, syexp(parser_ctx(parser), var)); DEBUGSHUNTDO(con_out("push %s\n", parser_tokval(parser))); }