mirror of
https://github.com/golang/go
synced 2025-04-15 00:35:44 +00:00
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:
@ -7,7 +7,7 @@
|
||||
package main
|
||||
|
||||
func main() {
|
||||
if x; y // ERROR "missing .*{.* after if clause|undefined"
|
||||
if x; y // ERROR "expected .*{.* after if clause|undefined"
|
||||
{
|
||||
z // GCCGO_ERROR "undefined"
|
||||
|
||||
|
@ -7,7 +7,7 @@
|
||||
package main
|
||||
|
||||
func main() {
|
||||
for x; y; z // ERROR "missing .*{.* after for clause|undefined"
|
||||
for x; y; z // ERROR "expected .*{.* after for clause|undefined"
|
||||
{
|
||||
z // GCCGO_ERROR "undefined"
|
||||
|
||||
|
@ -13,5 +13,5 @@ package main
|
||||
|
||||
func main() {
|
||||
for x // GCCGO_ERROR "undefined"
|
||||
{ // ERROR "missing .*{.* after for clause|missing operand"
|
||||
z // ERROR "undefined|missing { after for clause"
|
||||
{ // ERROR "expecting .*{.* after for clause|missing operand"
|
||||
z // ERROR "undefined|expecting { after for clause"
|
||||
|
Reference in New Issue
Block a user