PR testsuite/86649
[official-gcc.git] / gcc / testsuite / go.test / test / struct0.go
blobe29eb30f544f8bf26e0f69c689dde750a5906cef
1 // run
3 // Copyright 2011 The Go Authors. All rights reserved.
4 // Use of this source code is governed by a BSD-style
5 // license that can be found in the LICENSE file.
7 // Test zero length structs.
8 // Used to not be evaluated.
9 // Issue 2232.
11 package main
13 func recv(c chan interface{}) struct{} {
14 return (<-c).(struct{})
17 var m = make(map[interface{}]int)
19 func recv1(c chan interface{}) {
20 defer rec()
21 m[(<-c).(struct{})] = 0
24 func rec() {
25 recover()
28 func main() {
29 c := make(chan interface{})
30 go recv(c)
31 c <- struct{}{}
32 go recv1(c)
33 c <- struct{}{}