aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorVeikka Tuominen <git@vexu.eu>2022-03-27 22:52:28 +0300
committerVeikka Tuominen <git@vexu.eu>2022-03-27 22:57:43 +0300
commitd5e89dd70b2b5e26e2457d276ce25125f111b29a (patch)
tree8e88cb9832fc976a9d0cc591581dfa33c315d426 /src
parent7217148edf28a0d3ab69b8c36b13d29c023e12fd (diff)
downloadzig-d5e89dd70b2b5e26e2457d276ce25125f111b29a.tar.gz
zig-d5e89dd70b2b5e26e2457d276ce25125f111b29a.zip
stage2: add temporary workaround for lack of argument count check
Diffstat (limited to 'src')
-rw-r--r--src/Sema.zig8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/Sema.zig b/src/Sema.zig
index da98cb488d..a5b0804d9c 100644
--- a/src/Sema.zig
+++ b/src/Sema.zig
@@ -3661,8 +3661,12 @@ fn zirParamType(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!A
fn_ty.fnInfo();
if (param_index >= fn_info.param_types.len) {
- assert(fn_info.is_var_args);
- return sema.addType(Type.initTag(.var_args_param));
+ if (fn_info.is_var_args) {
+ return sema.addType(Type.initTag(.var_args_param));
+ }
+ // TODO implement begin_call/end_call Zir instructions and check
+ // argument count before casting arguments to parameter types.
+ return sema.fail(block, callee_src, "wrong number of arguments", .{});
}
if (fn_info.param_types[param_index].tag() == .generic_poison) {