Commit 945872e5 authored by Robert Griesemer's avatar Robert Griesemer

cmd/compile/internal/syntax: added test cases for recent fixes

R=go1.11.

Now that we have a syntax error test harness, we can add the
proper tests for the recent parser fixes.

For #20800.
For #20789.
For #23385.
For #23434.

A test for #20789 already exists in test/fixedbugs, but this
is the better location for that test. But leaving the existing
one where it is as well.

Change-Id: I5937b9b63bafd1efab467a00344302e717976171
Reviewed-on: https://go-review.googlesource.com/88336Reviewed-by: 's avatarMatthew Dempsky <mdempsky@google.com>
parent 52fcac3b
// Copyright 2018 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.
// Make sure this doesn't crash the compiler.
// Line 9 must end in EOF for this test (no newline).
package e
func([<-chan<-[func /* ERROR unexpected u */ u){go /* ERROR must be function call */
\ No newline at end of file
// Copyright 2018 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.
// Check error message for use of = instead of == .
package p
func f() {
if true || 0 = 1 /* ERROR assignment .* used as value */ {
}
}
// Copyright 2018 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.
// Test case for issue 23434: Better synchronization of
// parser after missing type. There should be exactly
// one error each time, with now follow errors.
package p
type T /* ERROR unexpected newline */
type Map map[int] /* ERROR unexpected newline */
// Examples from #23434:
func g() {
m := make(map[string] /* ERROR unexpected ! */ !)
for {
x := 1
print(x)
}
}
func f() {
m := make(map[string] /* ERROR unexpected \) */ )
for {
x := 1
print(x)
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment