go/test/fixedbugs/issue18747.go
Robert Griesemer f823d30514 cmd/compile/internal/syntax: better error for malformed 'if' statements
Use distinction between explicit and automatically inserted semicolons
to provide a better error message if the condition in an 'if' statement
is missing.

For #18747.

Change-Id: Iac167ae4e5ad53d2dc73f746b4dee9912434bb59
Reviewed-on: https://go-review.googlesource.com/36930
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
2017-02-13 22:02:36 +00:00

29 lines
576 B
Go

// errorcheck
// Copyright 2017 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 p
func _ () {
if {} // ERROR "missing condition in if statement"
if
{} // ERROR "missing condition in if statement"
if ; {} // ERROR "missing condition in if statement"
if foo; {} // ERROR "missing condition in if statement"
if foo; // ERROR "missing condition in if statement"
{}
if foo {}
if ; foo {}
if foo // ERROR "unexpected newline, expecting { after if clause"
{}
}