]> git.xonotic.org Git - xonotic/gmqcc.git/commitdiff
fix a call typecheck issue
authorWolfgang Bumiller <wry.git@bumiller.com>
Wed, 12 Jun 2013 15:32:42 +0000 (17:32 +0200)
committerWolfgang Bumiller <wry.git@bumiller.com>
Sat, 15 Jun 2013 07:46:44 +0000 (09:46 +0200)
ast.c

diff --git a/ast.c b/ast.c
index 332f708fbad59d4c9c951e728641df9494c57ba8..5ac62832e7871df05c23c829941636d5e49d75de 100644 (file)
--- a/ast.c
+++ b/ast.c
@@ -1055,11 +1055,11 @@ bool ast_call_check_types(ast_call *self, ast_expression *va_type)
                 if (!ast_call_check_vararg(self, va_type, func->varparam))
                     retval = false;
             }
                 if (!ast_call_check_vararg(self, va_type, func->varparam))
                     retval = false;
             }
-            if (!ast_compare_type(self->params[i], func->varparam))
+            else if (!ast_compare_type(self->params[i], func->varparam))
             {
                 ast_type_to_string(self->params[i], tgot, sizeof(tgot));
                 ast_type_to_string(func->varparam, texp, sizeof(texp));
             {
                 ast_type_to_string(self->params[i], tgot, sizeof(tgot));
                 ast_type_to_string(func->varparam, texp, sizeof(texp));
-                compile_error(ast_ctx(self), "invalid type for parameter %u in function call: expected %s, got %s",
+                compile_error(ast_ctx(self), "invalid type for variadic parameter %u in function call: expected %s, got %s",
                          (unsigned int)(i+1), texp, tgot);
                 /* we don't immediately return */
                 retval = false;
                          (unsigned int)(i+1), texp, tgot);
                 /* we don't immediately return */
                 retval = false;