compiler: improve error messages for expected curly brace
For golang/go#17328 Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/273890
This commit is contained in:
parent
c7f272e05e
commit
5ba975e668
5 changed files with 10 additions and 12 deletions
|
@ -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.
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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"
|
||||
|
||||
|
|
|
@ -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"
|
||||
|
||||
|
|
|
@ -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"
|
||||
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue