zig

fork of https://codeberg.org/ziglang/zig
Log | Files | Refs | README | LICENSE

commit d5e89dd70b2b5e26e2457d276ce25125f111b29a (tree)
parent 7217148edf28a0d3ab69b8c36b13d29c023e12fd
Author: Veikka Tuominen <git@vexu.eu>
Date:   Sun, 27 Mar 2022 22:52:28 +0300

stage2: add temporary workaround for lack of argument count check

Diffstat:
Msrc/Sema.zig | 8++++++--
1 file changed, 6 insertions(+), 2 deletions(-)

diff --git 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) {