diff options
Diffstat (limited to 'test/syntax')
-rw-r--r-- | test/syntax/chan.go | 17 | ||||
-rw-r--r-- | test/syntax/chan1.go | 17 | ||||
-rw-r--r-- | test/syntax/composite.go | 11 | ||||
-rw-r--r-- | test/syntax/ddd.go | 11 | ||||
-rw-r--r-- | test/syntax/else.go | 12 | ||||
-rw-r--r-- | test/syntax/if.go | 18 | ||||
-rw-r--r-- | test/syntax/import.go | 14 | ||||
-rw-r--r-- | test/syntax/initvar.go | 15 | ||||
-rw-r--r-- | test/syntax/interface.go | 14 | ||||
-rw-r--r-- | test/syntax/semi1.go | 14 | ||||
-rw-r--r-- | test/syntax/semi2.go | 14 | ||||
-rw-r--r-- | test/syntax/semi3.go | 14 | ||||
-rw-r--r-- | test/syntax/semi4.go | 12 | ||||
-rw-r--r-- | test/syntax/semi5.go | 13 | ||||
-rw-r--r-- | test/syntax/semi6.go | 11 | ||||
-rw-r--r-- | test/syntax/semi7.go | 14 | ||||
-rw-r--r-- | test/syntax/topexpr.go | 20 | ||||
-rw-r--r-- | test/syntax/typesw.go | 13 | ||||
-rw-r--r-- | test/syntax/vareq.go | 10 | ||||
-rw-r--r-- | test/syntax/vareq1.go | 10 |
20 files changed, 274 insertions, 0 deletions
diff --git a/test/syntax/chan.go b/test/syntax/chan.go new file mode 100644 index 0000000..6f9d77d --- /dev/null +++ b/test/syntax/chan.go @@ -0,0 +1,17 @@ +// errorcheck + +// 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|missing channel element type" + +func Foo(y chan) { // ERROR "unexpected .*\).* in channel type|missing channel element type" +} + +func Bar(x chan, y int) { // ERROR "unexpected comma in channel type|missing channel element type" +} diff --git a/test/syntax/chan1.go b/test/syntax/chan1.go new file mode 100644 index 0000000..88a5b47 --- /dev/null +++ b/test/syntax/chan1.go @@ -0,0 +1,17 @@ +// errorcheck + +// 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 + +var c chan int +var v int + +func main() { + if c <- v { // ERROR "cannot use c <- v as value|send statement used as value" + } +} + +var _ = c <- v // ERROR "unexpected <-|send statement used as value" diff --git a/test/syntax/composite.go b/test/syntax/composite.go new file mode 100644 index 0000000..f891931 --- /dev/null +++ b/test/syntax/composite.go @@ -0,0 +1,11 @@ +// errorcheck + +// Copyright 2012 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 + +var a = []int{ + 3 // ERROR "need trailing comma before newline in composite literal|expecting comma or }" +} diff --git a/test/syntax/ddd.go b/test/syntax/ddd.go new file mode 100644 index 0000000..476ae22 --- /dev/null +++ b/test/syntax/ddd.go @@ -0,0 +1,11 @@ +// errorcheck + +// Copyright 2016 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 f() { + g(f..3) // ERROR "unexpected literal \.3, expecting name or \(" +} diff --git a/test/syntax/else.go b/test/syntax/else.go new file mode 100644 index 0000000..9537329 --- /dev/null +++ b/test/syntax/else.go @@ -0,0 +1,12 @@ +// errorcheck + +// Copyright 2011 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 true { + } else ; // ERROR "else must be followed by if or statement block|expected .if. or .{." +} diff --git a/test/syntax/if.go b/test/syntax/if.go new file mode 100644 index 0000000..c208a9f --- /dev/null +++ b/test/syntax/if.go @@ -0,0 +1,18 @@ +// errorcheck + +// Copyright 2011 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 x() { +} + +func main() { + if { // ERROR "missing condition" + } + + if x(); { // ERROR "missing condition" + } +} diff --git a/test/syntax/import.go b/test/syntax/import.go new file mode 100644 index 0000000..8010bed --- /dev/null +++ b/test/syntax/import.go @@ -0,0 +1,14 @@ +// errorcheck + +// 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 + +import ( + "io", // ERROR "unexpected comma" + "os" +) + + diff --git a/test/syntax/initvar.go b/test/syntax/initvar.go new file mode 100644 index 0000000..74623f5 --- /dev/null +++ b/test/syntax/initvar.go @@ -0,0 +1,15 @@ +// errorcheck + +// 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 var x = 0; x < 10 {} // ERROR "var declaration not allowed in if initializer" + + switch var x = 0; x {} // ERROR "var declaration not allowed in switch initializer" + + for var x = 0; x < 10; {} // ERROR "var declaration not allowed in for initializer" +} diff --git a/test/syntax/interface.go b/test/syntax/interface.go new file mode 100644 index 0000000..010d3ce --- /dev/null +++ b/test/syntax/interface.go @@ -0,0 +1,14 @@ +// errorcheck + +// 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 T interface { + f, g () // ERROR "name list not allowed in interface type" +} + + + diff --git a/test/syntax/semi1.go b/test/syntax/semi1.go new file mode 100644 index 0000000..8eed05c --- /dev/null +++ b/test/syntax/semi1.go @@ -0,0 +1,14 @@ +// errorcheck + +// 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 "expected .*{.* after if clause|undefined" + { + z // GCCGO_ERROR "undefined" + + diff --git a/test/syntax/semi2.go b/test/syntax/semi2.go new file mode 100644 index 0000000..9216789 --- /dev/null +++ b/test/syntax/semi2.go @@ -0,0 +1,14 @@ +// errorcheck + +// 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() { + switch x; y // ERROR "missing .*{.* after switch clause|undefined" + { + z + + diff --git a/test/syntax/semi3.go b/test/syntax/semi3.go new file mode 100644 index 0000000..d064ce6 --- /dev/null +++ b/test/syntax/semi3.go @@ -0,0 +1,14 @@ +// errorcheck + +// 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 "expected .*{.* after for clause|undefined" + { + z // GCCGO_ERROR "undefined" + + diff --git a/test/syntax/semi4.go b/test/syntax/semi4.go new file mode 100644 index 0000000..08c3547 --- /dev/null +++ b/test/syntax/semi4.go @@ -0,0 +1,12 @@ +// errorcheck + +// 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 // GCCGO_ERROR "undefined" + { // ERROR "unexpected {, expecting for loop condition|expecting .*{.* after for clause" + z // GCCGO_ERROR "undefined" diff --git a/test/syntax/semi5.go b/test/syntax/semi5.go new file mode 100644 index 0000000..c54a994 --- /dev/null +++ b/test/syntax/semi5.go @@ -0,0 +1,13 @@ +// errorcheck + +// 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() +{ // ERROR "unexpected semicolon or newline before .?{.?" + + + diff --git a/test/syntax/semi6.go b/test/syntax/semi6.go new file mode 100644 index 0000000..9bc730d --- /dev/null +++ b/test/syntax/semi6.go @@ -0,0 +1,11 @@ +// errorcheck + +// 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 T1 // ERROR "newline in type declaration" + +type T2 /* // ERROR "(semicolon.*|EOF) in type declaration" */
\ No newline at end of file diff --git a/test/syntax/semi7.go b/test/syntax/semi7.go new file mode 100644 index 0000000..a1948b0 --- /dev/null +++ b/test/syntax/semi7.go @@ -0,0 +1,14 @@ +// errorcheck + +// 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 { } // GCCGO_ERROR "undefined" + else { } // ERROR "unexpected semicolon or newline before .?else.?|unexpected else" +} + + diff --git a/test/syntax/topexpr.go b/test/syntax/topexpr.go new file mode 100644 index 0000000..be080d2 --- /dev/null +++ b/test/syntax/topexpr.go @@ -0,0 +1,20 @@ +// errorcheck + +// 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 + +fmt.Printf("hello") // ERROR "non-declaration statement outside function body|expected declaration" + +func main() { +} + +x++ // ERROR "non-declaration statement outside function body|expected declaration" + +func init() { +} + +x,y := 1, 2 // ERROR "non-declaration statement outside function body|expected declaration" + diff --git a/test/syntax/typesw.go b/test/syntax/typesw.go new file mode 100644 index 0000000..3781933 --- /dev/null +++ b/test/syntax/typesw.go @@ -0,0 +1,13 @@ +// errorcheck + +// Copyright 2011 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() { + switch main() := interface{}(nil).(type) { // ERROR "invalid variable name|cannot use .* as value" + default: + } +} diff --git a/test/syntax/vareq.go b/test/syntax/vareq.go new file mode 100644 index 0000000..0d4bb78 --- /dev/null +++ b/test/syntax/vareq.go @@ -0,0 +1,10 @@ +// errorcheck + +// 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() { + var x map[string]string{"a":"b"} // ERROR "unexpected { at end of statement|expected ';' or '}' or newline" diff --git a/test/syntax/vareq1.go b/test/syntax/vareq1.go new file mode 100644 index 0000000..a2f9f34 --- /dev/null +++ b/test/syntax/vareq1.go @@ -0,0 +1,10 @@ +// errorcheck + +// 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 + +var x map[string]string{"a":"b"} // ERROR "unexpected { at end of statement|unexpected { after top level declaration|expected ';' or newline after top level declaration" + |