cmd/compile/internal/gc: don't ignore EOF in new parser

Fixes #13274.
Fixes #13272.

Change-Id: Ie67a2c4671ee2b49831898fff7677cd65d780942
Reviewed-on: https://go-review.googlesource.com/16972
Reviewed-by: Chris Manghane <cmang@golang.org>
This commit is contained in:
Robert Griesemer 2015-11-16 12:29:55 -08:00
parent a20556bf56
commit 0133d24c94
2 changed files with 14 additions and 1 deletions

View file

@ -88,7 +88,7 @@ func (p *parser) got(tok int32) bool {
}
func (p *parser) want(tok int32) {
if p.tok != EOF && !p.got(tok) {
if !p.got(tok) {
p.syntax_error("")
p.advance()
}
@ -293,6 +293,8 @@ func (p *parser) file() {
}
xtop = concat(xtop, p.xdcl_list())
p.want(EOF)
}
// go.y:package

View file

@ -0,0 +1,11 @@
// errorcheck
// Copyright 2015 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
// Check that we don't ignore EOF.
package p
var f = func() { // ERROR "unexpected EOF"