You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
67 lines
688 B
67 lines
688 B
// 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:
|
|
}
|