diff --git a/src-self-hosted/module.zig b/src-self-hosted/module.zig index 44954e4cd..4b0c44529 100644 --- a/src-self-hosted/module.zig +++ b/src-self-hosted/module.zig @@ -347,13 +347,10 @@ pub const Module = struct { const fn_proto = @fieldParentPtr(ast.Node.FnProto, "base", decl); const name = if (fn_proto.name_token) |name_token| tree.tokenSlice(name_token) else { - @panic("TODO add compile error"); - //try self.addCompileError( - // parsed_file, - // fn_proto.fn_token, - // fn_proto.fn_token + 1, - // "missing function name", - //); + try self.addCompileError(parsed_file, errmsg.Span{ + .first = fn_proto.fn_token, + .last = fn_proto.fn_token + 1, + }, "missing function name"); continue; }; diff --git a/src-self-hosted/test.zig b/src-self-hosted/test.zig index 01a857f21..ffad7f1b8 100644 --- a/src-self-hosted/test.zig +++ b/src-self-hosted/test.zig @@ -17,6 +17,10 @@ test "compile errors" { \\export fn entry() void {} , file1, 2, 8, "exported symbol collision: 'entry'"); + try ctx.testCompileError( + \\fn() void {} + , file1, 1, 1, "missing function name"); + try ctx.run(); }