From: Robert Griesemer Date: Wed, 25 Nov 2009 01:34:08 +0000 (-0800) Subject: Handle presence of illegal semicolon after package clause better. X-Git-Tag: weekly.2009-12-07~126 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=28f1914023e7e8a5b37b698436c1278ffc1ace59;p=gostls13.git Handle presence of illegal semicolon after package clause better. R=r, r1 https://golang.org/cl/157167 --- 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.