cmd/compile/internal/parser: improved syntax error for incorrect if/for/switch header

Starting the error message with "expecting" rather than "missing"
causes the syntax error mechanism to add additional helpful info
(it recognizes "expecting" but not "missing").

Fixes #17328.

Change-Id: I8482ca5e5a6a6b22e0ed0d831b7328e264156334
Reviewed-on: https://go-review.googlesource.com/36637
Run-TryBot: Robert Griesemer <gri@golang.org>
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
This commit is contained in:
Robert Griesemer 2017-02-08 17:56:41 -08:00
parent 7ad512e7ff
commit 3c22e5ca27
5 changed files with 18 additions and 5 deletions

View file

@ -1690,7 +1690,7 @@ func (p *parser) stmtBody(context string) []Stmt {
}
if !p.got(_Lbrace) {
p.syntax_error("missing { after " + context)
p.syntax_error("expecting { after " + context)
p.advance(_Name, _Rbrace)
}