label declarations not handled properly

R=rsc
DELTA=27  (27 added, 0 deleted, 0 changed)
OCL=25015
CL=25015
This commit is contained in:
Robert Griesemer 2009-02-13 13:42:43 -08:00
parent 8e7873672e
commit 920ab67b4c
2 changed files with 31 additions and 0 deletions

26
test/bugs/bug137.go Normal file
View file

@ -0,0 +1,26 @@
// $G $D/$F.go || echo BUG should compile
// 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() {
L1:
L2: for i := 0; i < 10; i++ {
print(i);
break L2;
}
L3: ;
L4: for i := 0; i < 10; i++ {
print(i);
break L4;
}
}
/*
bug137.go:9: break label is not defined: L2
bug137.go:15: break label is not defined: L4
*/

View file

@ -166,6 +166,11 @@ BUG: compilation succeeds incorrectly
=========== bugs/bug136.go
BUG: should not compile
=========== bugs/bug137.go
bugs/bug137.go:9: break label is not defined: L2
bugs/bug137.go:15: break label is not defined: L4
BUG should compile
=========== fixedbugs/bug016.go
fixedbugs/bug016.go:7: overflow converting constant to uint