diff options
author | Ian Lance Taylor <iant@golang.org> | 2020-11-28 18:51:05 -0800 |
---|---|---|
committer | Ian Lance Taylor <iant@golang.org> | 2020-11-30 12:14:23 -0800 |
commit | 5ba975e6680cc5f9c2be7ee34b1cacdba3eb3347 (patch) | |
tree | 3c1a0b173e9fb504001b6f3480ea6726c48ec4dd | |
parent | c7f272e05e1cf8c7d7caefe5ee542845cf4cc7c8 (diff) | |
download | gcc-5ba975e6680cc5f9c2be7ee34b1cacdba3eb3347.zip gcc-5ba975e6680cc5f9c2be7ee34b1cacdba3eb3347.tar.gz gcc-5ba975e6680cc5f9c2be7ee34b1cacdba3eb3347.tar.bz2 |
compiler: improve error messages for expected curly brace
For golang/go#17328
Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/273890
-rw-r--r-- | gcc/go/gofrontend/MERGE | 2 | ||||
-rw-r--r-- | gcc/go/gofrontend/parse.cc | 6 | ||||
-rw-r--r-- | gcc/testsuite/go.test/test/syntax/semi1.go | 4 | ||||
-rw-r--r-- | gcc/testsuite/go.test/test/syntax/semi3.go | 4 | ||||
-rw-r--r-- | gcc/testsuite/go.test/test/syntax/semi4.go | 6 |
5 files changed, 10 insertions, 12 deletions
diff --git a/gcc/go/gofrontend/MERGE b/gcc/go/gofrontend/MERGE index e2fc0b5..4124603 100644 --- a/gcc/go/gofrontend/MERGE +++ b/gcc/go/gofrontend/MERGE @@ -1,4 +1,4 @@ -213abeedc85ed638a878f9457e422897fda3a111 +45461eeba1db1a3b4194dc8ecc331c0e92f5ad4c The first line of this file holds the git revision number of the last merge done from the gofrontend repository. diff --git a/gcc/go/gofrontend/parse.cc b/gcc/go/gofrontend/parse.cc index 1dac002..c9a5485 100644 --- a/gcc/go/gofrontend/parse.cc +++ b/gcc/go/gofrontend/parse.cc @@ -4422,7 +4422,7 @@ Parse::if_stat() { Location semi_loc = this->location(); if (this->advance_token()->is_op(OPERATOR_LCURLY)) - go_error_at(semi_loc, "missing %<{%> after if clause"); + go_error_at(semi_loc, "unexpected semicolon or newline, expecting %<{%> after if clause"); // Otherwise we will get an error when we call this->block // below. } @@ -5359,7 +5359,7 @@ Parse::for_stat(Label* label) { Location semi_loc = this->location(); if (this->advance_token()->is_op(OPERATOR_LCURLY)) - go_error_at(semi_loc, "missing %<{%> after for clause"); + go_error_at(semi_loc, "unexpected semicolon or newline, expecting %<{%> after for clause"); // Otherwise we will get an error when we call this->block // below. } @@ -5430,7 +5430,7 @@ Parse::for_clause(Expression** cond, Block** post) *cond = NULL; else if (this->peek_token()->is_op(OPERATOR_LCURLY)) { - go_error_at(this->location(), "missing %<{%> after for clause"); + go_error_at(this->location(), "unexpected semicolon or newline, expecting %<{%> after for clause"); *cond = NULL; *post = NULL; return; diff --git a/gcc/testsuite/go.test/test/syntax/semi1.go b/gcc/testsuite/go.test/test/syntax/semi1.go index 6e04281..8eed05c 100644 --- a/gcc/testsuite/go.test/test/syntax/semi1.go +++ b/gcc/testsuite/go.test/test/syntax/semi1.go @@ -1,13 +1,13 @@ // errorcheck -// Copyright 2010 The Go Authors. All rights reserved. +// Copyright 2010 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. 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" diff --git a/gcc/testsuite/go.test/test/syntax/semi3.go b/gcc/testsuite/go.test/test/syntax/semi3.go index ca070d8..d064ce6 100644 --- a/gcc/testsuite/go.test/test/syntax/semi3.go +++ b/gcc/testsuite/go.test/test/syntax/semi3.go @@ -1,13 +1,13 @@ // errorcheck -// Copyright 2010 The Go Authors. All rights reserved. +// Copyright 2010 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. 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" diff --git a/gcc/testsuite/go.test/test/syntax/semi4.go b/gcc/testsuite/go.test/test/syntax/semi4.go index 99c2d22..08c3547 100644 --- a/gcc/testsuite/go.test/test/syntax/semi4.go +++ b/gcc/testsuite/go.test/test/syntax/semi4.go @@ -1,6 +1,6 @@ // errorcheck -// Copyright 2010 The Go Authors. All rights reserved. +// Copyright 2010 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. @@ -8,7 +8,5 @@ package main func main() { for x // GCCGO_ERROR "undefined" - { // ERROR "missing .*{.* after for clause" + { // ERROR "unexpected {, expecting for loop condition|expecting .*{.* after for clause" z // GCCGO_ERROR "undefined" - - |