runtime: return zero value in x, ok = <-c when ok == false
Fixes #401.
R=ken2
https://golang.org/cl/180053
diff --git a/test/fixedbugs/bug234.go b/test/fixedbugs/bug234.go
new file mode 100644
index 0000000..882bc74
--- /dev/null
+++ b/test/fixedbugs/bug234.go
@@ -0,0 +1,20 @@
+// $G $D/$F.go && $L $F.$A && ./$A.out
+
+// Copyright 2009 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() {
+ c := make(chan int, 1)
+ c <- 100
+ x, ok := <-c
+ if x != 100 || !ok {
+ panic("x=", x, " ok=", ok, " want 100, true")
+ }
+ x, ok = <-c
+ if x != 0 || ok {
+ panic("x=", x, " ok=", ok, " want 0, false")
+ }
+}