diff options
Diffstat (limited to 'test/fixedbugs/bug070.go')
-rw-r--r-- | test/fixedbugs/bug070.go | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/test/fixedbugs/bug070.go b/test/fixedbugs/bug070.go new file mode 100644 index 0000000..3f3ffcf --- /dev/null +++ b/test/fixedbugs/bug070.go @@ -0,0 +1,40 @@ +// run + +// 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 + +import "fmt" + +func main() { + var i, k int + var r string +outer: + for k = 0; k < 2; k++ { + r += fmt.Sprintln("outer loop top k", k) + if k != 0 { + panic("k not zero") + } // inner loop breaks this one every time + for i = 0; i < 2; i++ { + if i != 0 { + panic("i not zero") + } // loop breaks every time + r += fmt.Sprintln("inner loop top i", i) + if true { + r += "do break\n" + break outer + } + } + } + r += "broke\n" + expect := `outer loop top k 0 +inner loop top i 0 +do break +broke +` + if r != expect { + panic(r) + } +} |