Commit 4d76e8e1 authored by Robert Griesemer's avatar Robert Griesemer

- bug: empty switches don't compile

R=rsc
DELTA=32  (28 added, 3 deleted, 1 changed)
OCL=20301
CL=20340
parent c8a66a98
// $G $D/$F.go && $L $F.$A && ./$A.out || 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() {
switch {
// empty switch is allowed according to syntax
// unclear why it shouldn't be allowed
}
switch tag := 0; tag {
// empty switch is allowed according to syntax
// unclear why it shouldn't be allowed
}
}
/*
uetli:~/Source/go1/test/bugs gri$ 6g bug127.go
bug127.go:5: switch statement must have case labels
bug127.go:9: switch statement must have case labels
*/
...@@ -11,10 +11,11 @@ errchk: ./convlit.go: unmatched error messages: ...@@ -11,10 +11,11 @@ errchk: ./convlit.go: unmatched error messages:
================================================== ==================================================
./convlit.go:8: cannot convert non-integer constant to int ./convlit.go:8: cannot convert non-integer constant to int
./convlit.go:11: overflow converting constant to int ./convlit.go:11: overflow converting constant to int
./convlit.go:12: overflow in float constant ./convlit.go:12: overflow converting constant to float
./convlit.go:8: cannot convert non-integer constant to int ./convlit.go:8: cannot convert non-integer constant to int
./convlit.go:9: cannot convert non-integer constant to int ./convlit.go:9: cannot convert non-integer constant to int
./convlit.go:11: overflow converting constant to int ./convlit.go:11: overflow converting constant to int
./convlit.go:12: overflow converting constant to float
================================================== ==================================================
=========== ./helloworld.go =========== ./helloworld.go
...@@ -150,9 +151,6 @@ panic PC=xxx ...@@ -150,9 +151,6 @@ panic PC=xxx
BUG: should not fail BUG: should not fail
=========== bugs/bug120.go =========== bugs/bug120.go
Bad float64 const: 1e23+8.388608e6 want 1.0000000000000001e+23 got 1e+23
want exact: 100000000000000008388608
got exact: 99999999999999991611392
Bad float64 const: 1e23+1 want 1.0000000000000001e+23 got 1e+23 Bad float64 const: 1e23+1 want 1.0000000000000001e+23 got 1e+23
want exact: 100000000000000008388608 want exact: 100000000000000008388608
got exact: 99999999999999991611392 got exact: 99999999999999991611392
...@@ -176,6 +174,14 @@ BUG: errchk: command succeeded unexpectedly: 6g bugs/bug125.go ...@@ -176,6 +174,14 @@ BUG: errchk: command succeeded unexpectedly: 6g bugs/bug125.go
=========== bugs/bug126.go =========== bugs/bug126.go
BUG: errchk: command succeeded unexpectedly: 6g bugs/bug126.go BUG: errchk: command succeeded unexpectedly: 6g bugs/bug126.go
=========== bugs/bug127.go
BUG: errchk: command succeeded unexpectedly: 6g bugs/bug127.go
=========== bugs/bug128.go
bugs/bug128.go:5: switch statement must have case labels
bugs/bug128.go:9: switch statement must have case labels
BUG: should compile
=========== fixedbugs/bug016.go =========== fixedbugs/bug016.go
fixedbugs/bug016.go:7: overflow converting constant to uint fixedbugs/bug016.go:7: overflow converting constant to uint
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment