From: Dale Weiler Date: Wed, 6 Feb 2013 09:28:42 +0000 (+0000) Subject: Aliases to aliases is a bad idea, revert. Added better tests to show unused aliases X-Git-Tag: before-library~142 X-Git-Url: https://git.xonotic.org/?p=xonotic%2Fgmqcc.git;a=commitdiff_plain;h=1e60bafcdc825e1ec3a847ca6b3b5f43599afe29;hp=21e890602ded3d7344a51165d36b1ccd71144609 Aliases to aliases is a bad idea, revert. Added better tests to show unused aliases --- diff --git a/parser.c b/parser.c index cf79777..909732e 100644 --- a/parser.c +++ b/parser.c @@ -5280,13 +5280,6 @@ static bool parse_variable(parser_t *parser, ast_block *localblock, bool nofield void *entry = (void*)var->desc; ast_expression *find = parser_find_var(parser, var->desc); - /* aliases to aliases are also allowed */ - if (!find) { - char *name = NULL; - if ((find = parser_find_var(parser, (const char *)(name = util_htget(parser->aliases, var->desc))))) - entry = (void*)name; - } - if (!find) { compile_error(parser_ctx(parser), "undeclared variable `%s` for alias `%s`", var->desc, var->name); return false; diff --git a/tests/aliases.qc b/tests/aliases.qc index e66d525..0bf347b 100644 --- a/tests/aliases.qc +++ b/tests/aliases.qc @@ -6,16 +6,29 @@ void alias_2() { [[alias("alias_2")]] void alias_2_aliased(); [[alias("alias_1")]] float alias_1_aliased; + +// alias to an alias? +vector alias_3; +[[alias("alias_3")]] vector alias_3_aliased; + // expected output // alias_2 // 3.14 void main() { alias_2_aliased(); + alias_3_aliased= '1 2 3'; + print( ftos( alias_1_aliased ), "\n" ); + + print( + "x ", ftos(alias_3_aliased_x), "\n", + "y ", ftos(alias_3_aliased_y), "\n", + "z ", ftos(alias_3_aliased_z), "\n" + ); } diff --git a/tests/aliases.tmpl b/tests/aliases.tmpl index 185350f..8e414b0 100644 --- a/tests/aliases.tmpl +++ b/tests/aliases.tmpl @@ -4,3 +4,6 @@ T: -execute C: -std=gmqcc M: alias_2 M: 3.14 +M: x 1 +M: y 2 +M: z 3