gc: implement goto restriction

Remove now-unnecessary zeroing of stack frames.

R=ken2
CC=golang-dev
https://golang.org/cl/4641044
diff --git a/test/fixedbugs/bug238.go b/test/fixedbugs/bug238.go
index 7e8660d..4d5a905 100644
--- a/test/fixedbugs/bug238.go
+++ b/test/fixedbugs/bug238.go
@@ -19,4 +19,3 @@
 const i int = 2
 const j float64 = 5
 
-func main() { println(a, b, c, d, e, f, g) }
diff --git a/test/fixedbugs/bug274.go b/test/fixedbugs/bug274.go
index 348aed4..81ee9e5 100644
--- a/test/fixedbugs/bug274.go
+++ b/test/fixedbugs/bug274.go
@@ -25,6 +25,6 @@
 		L1:  // ERROR "statement"
 	default:
 		     // correct since no semicolon is required before a '}'
-		L2:  // GCCGO_ERROR "not used"
+		L2:  // ERROR "not used"
 	}
 }
diff --git a/test/fixedbugs/bug344.go b/test/fixedbugs/bug344.go
index 2a20dcf..d217b3b 100644
--- a/test/fixedbugs/bug344.go
+++ b/test/fixedbugs/bug344.go
@@ -1,4 +1,4 @@
-// $G $D/$F.go && $L $F.$A && ./$A.out || echo BUG: bug344
+// errchk $G -e $D/$F.go
 
 // Copyright 2011 The Go Authors.  All rights reserved.
 // Use of this source code is governed by a BSD-style
@@ -14,7 +14,9 @@
 	i := 42
 	a := []*int{&i, &i, &i, &i}
 	x := a[0]
-	goto start
+	goto start  // ERROR "goto start jumps into block"
+	z := 1
+	_ = z
 	for _, x = range a {
 	start:
 		fmt.Sprint(*x)