modernc.org/gc@v1.0.1-0.20240304020402-f0dba7c97c2b/testdata/errchk/test/fixedbugs/bug274.go (about) 1 // errorcheck 2 3 // Copyright 2010 The Go Authors. All rights reserved. 4 // Use of this source code is governed by a BSD-style 5 // license that can be found in the LICENSE file. 6 7 // 6g accepts the program below even though it is syntactically incorrect: 8 // Each statement in the list of statements for each case clause must be 9 // terminated with a semicolon. No semicolon is present for the labeled 10 // statements and because the last token is a colon ":", no semicolon is 11 // inserted automatically. 12 // 13 // Both gccgo and gofmt correctly refuse this program as is and accept it 14 // when the semicolons are present. 15 16 // This is a test case for issue 777 ( https://golang.org/issue/777 ). 17 18 package main 19 20 func main() { 21 switch 0 { 22 case 0: 23 L0: // ERROR "statement" 24 case 1: 25 L1: // ERROR "statement" 26 default: 27 // correct since no semicolon is required before a '}' 28 goto L2 29 L2: 30 } 31 }