]> Cypherpunks repositories - gostls13.git/commitdiff
gc: syntax error for incomplete chan type
authorRyan Hitchman <hitchmanr@gmail.com>
Thu, 9 Dec 2010 18:41:24 +0000 (13:41 -0500)
committerRuss Cox <rsc@golang.org>
Thu, 9 Dec 2010 18:41:24 +0000 (13:41 -0500)
Fixes #932.

R=rsc
CC=golang-dev
https://golang.org/cl/3515041

src/cmd/gc/go.errors
test/syntax/chan.go [new file with mode: 0644]

index cdd7578d414325b97d305c6880f9fe9036eaf3d6..b5af4678c91027fd5ab5d06b7d13ffc50ee0cee2 100644 (file)
@@ -35,6 +35,15 @@ static struct {
        % loadsys package imports LTYPE LNAME ';'
        "unexpected semicolon or newline in type declaration",
 
+       % loadsys package imports LCHAN '}'
+       "unexpected } in channel type",
+       
+       % loadsys package imports LCHAN ')'
+       "unexpected ) in channel type",
+       
+       % loadsys package imports LCHAN ','
+       "unexpected comma in channel type",
+
        % loadsys package imports LFUNC LNAME '(' ')' '{' if_stmt ';' LELSE
        "unexpected semicolon or newline before else",
 
diff --git a/test/syntax/chan.go b/test/syntax/chan.go
new file mode 100644 (file)
index 0000000..48beb1e
--- /dev/null
@@ -0,0 +1,17 @@
+// errchk $G -e $D/$F.go
+
+// 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
+
+type xyz struct {
+    ch chan
+} // ERROR "unexpected } in channel type"
+
+func Foo(y chan) { // ERROR "unexpected \) in channel type"
+}
+
+func Bar(x chan, y int) { // ERROR "unexpected comma in channel type"
+}