From ce15158502dad699a4781908a2fb0bed1dc8b61b Mon Sep 17 00:00:00 2001 From: Ian Lance Taylor Date: Thu, 6 Nov 2008 15:24:10 -0800 Subject: [PATCH] Test that a break statement inside a select statement breaks out of the enclosing loop. R=ken DELTA=20 (20 added, 0 deleted, 0 changed) OCL=18686 CL=18714 --- test/bugs/bug119.go | 20 ++++++++++++++++++++ test/golden.out | 4 ++++ 2 files changed, 24 insertions(+) create mode 100644 test/bugs/bug119.go diff --git a/test/bugs/bug119.go b/test/bugs/bug119.go new file mode 100644 index 0000000000..956f1b95d4 --- /dev/null +++ b/test/bugs/bug119.go @@ -0,0 +1,20 @@ +// $G $D/$F.go && $L $F.$A && ./$A.out || echo BUG: should not fail + +// 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() { + a := new(chan bool); + for { + select { + case <- a: + panic(); + default: + break; + } + panic(); + } +} diff --git a/test/golden.out b/test/golden.out index 640267d301..77fe8dc881 100644 --- a/test/golden.out +++ b/test/golden.out @@ -153,6 +153,10 @@ BUG: should compile =========== bugs/bug118.go BUG should compile +=========== bugs/bug119.go + +panic on line 82 PC=xxx +BUG should not panic =========== fixedbugs/bug016.go fixedbugs/bug016.go:7: overflow converting constant to uint -- 2.50.0