summaryrefslogtreecommitdiff
path: root/gcc/testsuite/go.go-torture/execute/select-1.go
diff options
context:
space:
mode:
authorupstream source tree <ports@midipix.org>2015-03-15 20:14:05 -0400
committerupstream source tree <ports@midipix.org>2015-03-15 20:14:05 -0400
commit554fd8c5195424bdbcabf5de30fdc183aba391bd (patch)
tree976dc5ab7fddf506dadce60ae936f43f58787092 /gcc/testsuite/go.go-torture/execute/select-1.go
downloadcbb-gcc-4.6.4-554fd8c5195424bdbcabf5de30fdc183aba391bd.tar.bz2
cbb-gcc-4.6.4-554fd8c5195424bdbcabf5de30fdc183aba391bd.tar.xz
obtained gcc-4.6.4.tar.bz2 from upstream website;upstream
verified gcc-4.6.4.tar.bz2.sig; imported gcc-4.6.4 source tree from verified upstream tarball. downloading a git-generated archive based on the 'upstream' tag should provide you with a source tree that is binary identical to the one extracted from the above tarball. if you have obtained the source via the command 'git clone', however, do note that line-endings of files in your working directory might differ from line-endings of the respective files in the upstream repository.
Diffstat (limited to 'gcc/testsuite/go.go-torture/execute/select-1.go')
-rw-r--r--gcc/testsuite/go.go-torture/execute/select-1.go28
1 files changed, 28 insertions, 0 deletions
diff --git a/gcc/testsuite/go.go-torture/execute/select-1.go b/gcc/testsuite/go.go-torture/execute/select-1.go
new file mode 100644
index 000000000..8fc6963be
--- /dev/null
+++ b/gcc/testsuite/go.go-torture/execute/select-1.go
@@ -0,0 +1,28 @@
+package main
+
+func main() {
+ ch1 := make(chan int);
+ ch2 := make(chan int);
+ go func (ch1, ch2 chan int) { ch1 <- 1; ch2 <- 2; } (ch1, ch2);
+ count := 0;
+ var v int;
+ for count != 2 {
+ select
+ {
+ case v := <- ch1:
+ if v != 1 {
+ panic(0)
+ }
+ count++
+
+ case v = <- ch2:
+ if v != 2 {
+ panic(1)
+ }
+ count++
+ }
+ }
+ if v != 2 {
+ panic(2)
+ }
+}