From 8a451a24e3859d2ddbee5aaac6f88370c88f0024 Mon Sep 17 00:00:00 2001 From: Zeke Medley Date: Thu, 18 Jul 2019 12:20:52 -0700 Subject: [PATCH] Improve func arg type checking. --- src/Type.cc | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/Type.cc b/src/Type.cc index af3d9be3c1..031c9471e6 100644 --- a/src/Type.cc +++ b/src/Type.cc @@ -592,14 +592,18 @@ int FuncType::CheckArgs(const type_list* args, bool is_init) const args->length(), my_args->length())); return 0; } + + int had_error = 1; + for ( int i = 0; i < my_args->length(); ++i ) if ( ! same_type((*args)[i], (*my_args)[i], is_init) ) { Warn(fmt("Type mismatch in function arguments. Expected %s, got %s.", type_name((*args)[i]->Tag()), type_name((*my_args)[i]->Tag()))); + had_error = 0; // continue checking types, don't return. } - return 1; + return had_error; } void FuncType::Describe(ODesc* d) const