From c37090f00f57b38b4c8b93b1d5e97f5a10cb1765 Mon Sep 17 00:00:00 2001 From: griesemer Date: Mon, 16 Oct 2017 21:24:27 -0700 Subject: [PATCH] cmd/compile/internal/parser: use same logic for stmtList as for other lists (cleanup) Change-Id: I2c2571b33603f0fd0ba5a79400da7b845d246b8c Reviewed-on: https://go-review.googlesource.com/71290 Reviewed-by: Matthew Dempsky --- src/cmd/compile/internal/syntax/parser.go | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/src/cmd/compile/internal/syntax/parser.go b/src/cmd/compile/internal/syntax/parser.go index e2d5817dc8..312ccec64e 100644 --- a/src/cmd/compile/internal/syntax/parser.go +++ b/src/cmd/compile/internal/syntax/parser.go @@ -2063,14 +2063,11 @@ func (p *parser) stmtList() (l []Stmt) { break } l = append(l, s) - // customized version of osemi: - // ';' is optional before a closing ')' or '}' - if p.tok == _Rparen || p.tok == _Rbrace { - continue - } - if !p.got(_Semi) { + // ";" is optional before "}" + if !p.got(_Semi) && p.tok != _Rbrace { p.syntax_error("at end of statement") - p.advance(_Semi, _Rbrace) + p.advance(_Semi, _Rbrace, _Case, _Default) + p.got(_Semi) // avoid spurious empty statement } } return -- 2.48.1