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")
+	}
+}