mirror of
https://github.com/golang/go.git
synced 2025-12-08 06:10:04 +00:00
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:
parent
a20556bf56
commit
0133d24c94
2 changed files with 14 additions and 1 deletions
|
|
@ -88,7 +88,7 @@ func (p *parser) got(tok int32) bool {
|
||||||
}
|
}
|
||||||
|
|
||||||
func (p *parser) want(tok int32) {
|
func (p *parser) want(tok int32) {
|
||||||
if p.tok != EOF && !p.got(tok) {
|
if !p.got(tok) {
|
||||||
p.syntax_error("")
|
p.syntax_error("")
|
||||||
p.advance()
|
p.advance()
|
||||||
}
|
}
|
||||||
|
|
@ -293,6 +293,8 @@ func (p *parser) file() {
|
||||||
}
|
}
|
||||||
|
|
||||||
xtop = concat(xtop, p.xdcl_list())
|
xtop = concat(xtop, p.xdcl_list())
|
||||||
|
|
||||||
|
p.want(EOF)
|
||||||
}
|
}
|
||||||
|
|
||||||
// go.y:package
|
// go.y:package
|
||||||
|
|
|
||||||
11
test/fixedbugs/issue13274.go
Normal file
11
test/fixedbugs/issue13274.go
Normal 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"
|
||||||
Loading…
Add table
Add a link
Reference in a new issue