zig

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

commit d1a14e7b6d90a0f285dead85c72a9ac73dd692bd (tree)
parent 64d03faae7f0f444149a179a1534c3488f59dca7
Author: Veikka Tuominen <git@vexu.eu>
Date:   Mon,  4 Sep 2023 17:15:17 +0300

AstGen: fix error on missing function prototype name

Closes #17070

Diffstat:
Msrc/AstGen.zig | 11++++++-----
Atest/cases/compile_errors/missing_function_proto_name.zig | 7+++++++
2 files changed, 13 insertions(+), 5 deletions(-)

diff --git a/src/AstGen.zig b/src/AstGen.zig @@ -12127,10 +12127,6 @@ fn scanDecls(astgen: *AstGen, namespace: *Scope.Namespace, members: []const Ast. var decl_count: u32 = 0; for (members) |member_node| { const name_token = switch (node_tags[member_node]) { - .fn_proto_simple, - .fn_proto_multi, - .fn_proto_one, - .fn_proto, .global_var_decl, .local_var_decl, .simple_var_decl, @@ -12140,7 +12136,12 @@ fn scanDecls(astgen: *AstGen, namespace: *Scope.Namespace, members: []const Ast. break :blk main_tokens[member_node] + 1; }, - .fn_decl => blk: { + .fn_proto_simple, + .fn_proto_multi, + .fn_proto_one, + .fn_proto, + .fn_decl, + => blk: { decl_count += 1; const ident = main_tokens[member_node] + 1; if (token_tags[ident] != .identifier) { diff --git a/test/cases/compile_errors/missing_function_proto_name.zig b/test/cases/compile_errors/missing_function_proto_name.zig @@ -0,0 +1,7 @@ +fn () void; + +// error +// backend=stage2 +// target=native +// +// :1:1: error: missing function name