Imported Upstream version 4.8.1
[platform/upstream/gcc48.git] / gcc / testsuite / go.test / test / chan / select4.go
1 // run
2
3 // Copyright 2010 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
6
7 // Test that a select statement proceeds when a value is ready.
8
9 package main
10
11 func f() *int {
12         println("BUG: called f")
13         return new(int)
14 }
15
16 func main() {
17         var x struct {
18                 a int
19         }
20         c := make(chan int, 1)
21         c1 := make(chan int)
22         c <- 42
23         select {
24         case *f() = <-c1:
25                 // nothing
26         case x.a = <-c:
27                 if x.a != 42 {
28                         println("BUG:", x.a)
29                 }
30         }
31 }