mirror of
https://github.com/golang/go
synced 2024-11-14 20:50:30 -07:00
67 lines
688 B
Go
67 lines
688 B
Go
|
// compile
|
||
|
|
||
|
// Copyright 2017 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.
|
||
|
|
||
|
// Verify that gotos across non-variable declarations
|
||
|
// are accepted.
|
||
|
|
||
|
package p
|
||
|
|
||
|
func _() {
|
||
|
goto L1
|
||
|
const x = 0
|
||
|
L1:
|
||
|
goto L2
|
||
|
type T int
|
||
|
L2:
|
||
|
}
|
||
|
|
||
|
func _() {
|
||
|
{
|
||
|
goto L1
|
||
|
}
|
||
|
const x = 0
|
||
|
L1:
|
||
|
{
|
||
|
goto L2
|
||
|
}
|
||
|
type T int
|
||
|
L2:
|
||
|
}
|
||
|
|
||
|
func _(d int) {
|
||
|
if d > 0 {
|
||
|
goto L1
|
||
|
} else {
|
||
|
goto L2
|
||
|
}
|
||
|
const x = 0
|
||
|
L1:
|
||
|
switch d {
|
||
|
case 1:
|
||
|
goto L3
|
||
|
case 2:
|
||
|
default:
|
||
|
goto L4
|
||
|
}
|
||
|
type T1 int
|
||
|
L2:
|
||
|
const y = 1
|
||
|
L3:
|
||
|
for d > 0 {
|
||
|
if d < 10 {
|
||
|
goto L4
|
||
|
}
|
||
|
}
|
||
|
type T2 int
|
||
|
L4:
|
||
|
select {
|
||
|
default:
|
||
|
goto L5
|
||
|
}
|
||
|
type T3 int
|
||
|
L5:
|
||
|
}
|