| author | |
| committer | |
| log | fd575fe1f3b45806f2cf823a2abe3727d381d4ed |
| tree | 860922d4efe44277b60e81d80e38baf8bc7e65bc |
| parent | 84195467ad974f9b7201e4e1bbd6dccbd5e7ab90 |
2 files changed, 12 insertions(+), 0 deletions(-)
src/ir.cpp+1| ... | @@ -12591,6 +12591,7 @@ static bool ir_analyze_fn_call_generic_arg(IrAnalyze *ira, AstNode *fn_proto_nod | ... | @@ -12591,6 +12591,7 @@ static bool ir_analyze_fn_call_generic_arg(IrAnalyze *ira, AstNode *fn_proto_nod |
| 12591 | } | 12591 | } |
| 12592 | 12592 | ||
| 12593 | Buf *param_name = param_decl_node->data.param_decl.name; | 12593 | Buf *param_name = param_decl_node->data.param_decl.name; |
| 12594 | if (!param_name) return false; | ||
| 12594 | if (!is_var_args) { | 12595 | if (!is_var_args) { |
| 12595 | VariableTableEntry *var = add_variable(ira->codegen, param_decl_node, | 12596 | VariableTableEntry *var = add_variable(ira->codegen, param_decl_node, |
| 12596 | *child_scope, param_name, true, arg_val, nullptr); | 12597 | *child_scope, param_name, true, arg_val, nullptr); |
test/compile_errors.zig+11| ... | @@ -1,6 +1,17 @@ | ... | @@ -1,6 +1,17 @@ |
| 1 | const tests = @import("tests.zig"); | 1 | const tests = @import("tests.zig"); |
| 2 | 2 | ||
| 3 | pub fn addCases(cases: *tests.CompileErrorContext) void { | 3 | pub fn addCases(cases: *tests.CompileErrorContext) void { |
| 4 | cases.add( | ||
| 5 | "missing parameter name of generic function", | ||
| 6 | \\fn dump(var) void {} | ||
| 7 | \\export fn entry() void { | ||
| 8 | \\ var a: u8 = 9; | ||
| 9 | \\ dump(a); | ||
| 10 | \\} | ||
| 11 | , | ||
| 12 | ".tmp_source.zig:1:9: error: missing parameter name", | ||
| 13 | ); | ||
| 14 | |||
| 4 | cases.add( | 15 | cases.add( |
| 5 | "non-inline for loop on a type that requires comptime", | 16 | "non-inline for loop on a type that requires comptime", |
| 6 | \\const Foo = struct { | 17 | \\const Foo = struct { |