Commit 1e4e0961 authored by Matthew Dempsky's avatar Matthew Dempsky

cmd/compile: remove parser lineno hack for issue #13267

After golang.org/cl/19652 removed the bizarre lexlineno{++,--}
statements for parsing canned imports, this hack for #13267 is no
longer necessary:

    $ echo -n 0 > /tmp/0.go
    $ go tool compile /tmp/0.go
    /tmp/0.go:1: syntax error: package statement must be first

Apparently setting lexlineno to 2 while parsing the canned imports
caused prevlineno and lineno to also be set to 2.  After we finished
parsing imports and restored lexlineno to 1, since "package" is the
first token in a source file, we'll have fixed lineno = 1, but
prevlineno was still set to 2.

Change-Id: Ibcc49fe3402264819b9abb53505631f7a0ad4a36
Reviewed-on: https://go-review.googlesource.com/19859Reviewed-by: default avatarRobert Griesemer <gri@golang.org>
parent e360f7c4
......@@ -280,13 +280,11 @@ func (p *parser) package_() {
defer p.trace("package_")()
}
if p.got(LPACKAGE) {
mkpackage(p.sym().Name)
} else {
prevlineno = lineno // see issue #13267
if !p.got(LPACKAGE) {
p.syntax_error("package statement must be first")
errorexit()
}
mkpackage(p.sym().Name)
}
// ImportDecl = "import" ( ImportSpec | "(" { ImportSpec ";" } ")" ) .
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment