From 1e60bafcdc825e1ec3a847ca6b3b5f43599afe29 Mon Sep 17 00:00:00 2001 From: Dale Weiler Date: Wed, 6 Feb 2013 09:28:42 +0000 Subject: [PATCH 1/1] Aliases to aliases is a bad idea, revert. Added better tests to show unused aliases --- parser.c | 7 ------- tests/aliases.qc | 13 +++++++++++++ tests/aliases.tmpl | 3 +++ 3 files changed, 16 insertions(+), 7 deletions(-) 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 -- 2.39.2