aboutsummaryrefslogtreecommitdiff
path: root/src/checker/stmt.cpp
diff options
context:
space:
mode:
authorGinger Bill <bill@gingerbill.org>2016-09-28 00:07:03 +0100
committerGinger Bill <bill@gingerbill.org>2016-09-28 00:07:03 +0100
commit5f6b0942f405f5595787ba3436e2e5410268e71e (patch)
treef0b585689c1f4762167a58a7a8aa2ac4d2b79028 /src/checker/stmt.cpp
parent6088cbeddb84e25e5966a1876ad4ffcaad6676c9 (diff)
Update Standard Library; Fix Type_Info for integers
Diffstat (limited to 'src/checker/stmt.cpp')
-rw-r--r--src/checker/stmt.cpp10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/checker/stmt.cpp b/src/checker/stmt.cpp
index bd3a512fa..89af771db 100644
--- a/src/checker/stmt.cpp
+++ b/src/checker/stmt.cpp
@@ -1017,10 +1017,14 @@ void check_stmt(Checker *c, AstNode *node, u32 flags) {
auto *tuple = &proc_type->Proc.results->Tuple;
variables = tuple->variables;
}
- check_init_variables(c, variables, result_count,
- rs->results, make_string("return statement"));
+ if (gb_array_count(rs->results) == 0) {
+ error(ast_node_token(node), "Expected %td return values, got 0", result_count);
+ } else {
+ check_init_variables(c, variables, result_count,
+ rs->results, make_string("return statement"));
+ }
} else if (gb_array_count(rs->results) > 0) {
- error(ast_node_token(rs->results[0]), "No result values expected");
+ error(ast_node_token(rs->results[0]), "No return values expected");
}
case_end;