From 28f1914023e7e8a5b37b698436c1278ffc1ace59 Mon Sep 17 00:00:00 2001 From: Robert Griesemer Date: Tue, 24 Nov 2009 17:34:08 -0800 Subject: [PATCH] Handle presence of illegal semicolon after package clause better. R=r, r1 https://golang.org/cl/157167 --- src/pkg/go/parser/parser.go | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/pkg/go/parser/parser.go b/src/pkg/go/parser/parser.go index f51d3fab79..8af1b801e0 100644 --- a/src/pkg/go/parser/parser.go +++ b/src/pkg/go/parser/parser.go @@ -1977,6 +1977,14 @@ func (p *parser) parseFile() *ast.File { doc := p.leadComment; pos := p.expect(token.PACKAGE); ident := p.parseIdent(); + + // Common error: semicolon after package clause. + // Accept and report it for better error synchronization. + if p.tok == token.SEMICOLON { + p.Error(p.pos, "expected declaration, found ';'"); + p.next(); + } + var decls []ast.Decl; // Don't bother parsing the rest if we had errors already. -- 2.50.0