]> git.xonotic.org Git - xonotic/gmqcc.git/blobdiff - parser.c
Set name for is_varargs too.
[xonotic/gmqcc.git] / parser.c
index b7d4bf56ae560296063261be7609ce112d43cc04..d694da49eca92665cc5fe543f7e7897f57e41f2a 100644 (file)
--- a/parser.c
+++ b/parser.c
@@ -4669,6 +4669,7 @@ static ast_value *parse_parameter_list(parser_t *parser, ast_value *var)
             }
             if (parser->tok == TOKEN_IDENT) {
                 argcounter = util_strdup(parser_tokval(parser));
+                ast_value_set_name(param, argcounter);
                 if (!parser_next(parser) || parser->tok != ')') {
                     parseerror(parser, "`...` must be the last parameter of a variadic function declaration");
                     goto on_error;
@@ -4693,12 +4694,17 @@ static ast_value *parse_parameter_list(parser_t *parser, ast_value *var)
                 }
                 if (parser->tok == TOKEN_IDENT) {
                     argcounter = util_strdup(parser_tokval(parser));
+                    ast_value_set_name(param, argcounter);
                     if (!parser_next(parser) || parser->tok != ')') {
                         parseerror(parser, "`...` must be the last parameter of a variadic function declaration");
                         goto on_error;
                     }
                 }
             }
+            if (OPTS_OPTION_U32(OPTION_STANDARD) == COMPILER_FTEQCC && param->name[0] == '<') {
+                parseerror(parser, "parameter name omitted");
+                goto on_error;
+            }
         }
     }