X7ROOT File Manager
Current Path:
/opt/golang/1.19.4/src/cmd/compile/internal/test/testdata
opt
/
golang
/
1.19.4
/
src
/
cmd
/
compile
/
internal
/
test
/
testdata
/
📁
..
📄
addressed_test.go
(4.42 KB)
📄
append_test.go
(1.16 KB)
📄
arithBoundary_test.go
(31.31 KB)
📄
arithConst_test.go
(633.8 KB)
📄
arith_test.go
(41.51 KB)
📄
array_test.go
(3.09 KB)
📄
assert_test.go
(2.54 KB)
📄
break_test.go
(3.67 KB)
📄
chan_test.go
(1.14 KB)
📄
closure_test.go
(572 B)
📄
cmpConst_test.go
(103.06 KB)
📄
cmp_test.go
(903 B)
📄
compound_test.go
(2.7 KB)
📄
copy_test.go
(150.18 KB)
📄
ctl_test.go
(2.33 KB)
📄
deferNoReturn_test.go
(481 B)
📄
divbyzero_test.go
(1.01 KB)
📄
dupLoad_test.go
(1.51 KB)
📄
flowgraph_generator1.go
(6.72 KB)
📄
fp_test.go
(34.99 KB)
📁
gen
📄
loadstore_test.go
(4.79 KB)
📄
map_test.go
(721 B)
📁
mysort
📄
namedReturn_test.go
(1.63 KB)
📄
phi_test.go
(2.21 KB)
📄
ptrsort.go
(633 B)
📄
ptrsort.out
(77 B)
📄
regalloc_test.go
(1.2 KB)
📁
reproducible
📄
short_test.go
(1.48 KB)
📄
slice_test.go
(850 B)
📄
sqrtConst_test.go
(1.26 KB)
📄
string_test.go
(4.46 KB)
📄
unsafe_test.go
(2.96 KB)
📄
zero_test.go
(49.6 KB)
Editing: break_test.go
// Copyright 2015 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. // Tests continue and break. package main import "testing" func continuePlain_ssa() int { var n int for i := 0; i < 10; i++ { if i == 6 { continue } n = i } return n } func continueLabeled_ssa() int { var n int Next: for i := 0; i < 10; i++ { if i == 6 { continue Next } n = i } return n } func continuePlainInner_ssa() int { var n int for j := 0; j < 30; j += 10 { for i := 0; i < 10; i++ { if i == 6 { continue } n = i } n += j } return n } func continueLabeledInner_ssa() int { var n int for j := 0; j < 30; j += 10 { Next: for i := 0; i < 10; i++ { if i == 6 { continue Next } n = i } n += j } return n } func continueLabeledOuter_ssa() int { var n int Next: for j := 0; j < 30; j += 10 { for i := 0; i < 10; i++ { if i == 6 { continue Next } n = i } n += j } return n } func breakPlain_ssa() int { var n int for i := 0; i < 10; i++ { if i == 6 { break } n = i } return n } func breakLabeled_ssa() int { var n int Next: for i := 0; i < 10; i++ { if i == 6 { break Next } n = i } return n } func breakPlainInner_ssa() int { var n int for j := 0; j < 30; j += 10 { for i := 0; i < 10; i++ { if i == 6 { break } n = i } n += j } return n } func breakLabeledInner_ssa() int { var n int for j := 0; j < 30; j += 10 { Next: for i := 0; i < 10; i++ { if i == 6 { break Next } n = i } n += j } return n } func breakLabeledOuter_ssa() int { var n int Next: for j := 0; j < 30; j += 10 { for i := 0; i < 10; i++ { if i == 6 { break Next } n = i } n += j } return n } var g, h int // globals to ensure optimizations don't collapse our switch statements func switchPlain_ssa() int { var n int switch g { case 0: n = 1 break n = 2 } return n } func switchLabeled_ssa() int { var n int Done: switch g { case 0: n = 1 break Done n = 2 } return n } func switchPlainInner_ssa() int { var n int switch g { case 0: n = 1 switch h { case 0: n += 10 break } n = 2 } return n } func switchLabeledInner_ssa() int { var n int switch g { case 0: n = 1 Done: switch h { case 0: n += 10 break Done } n = 2 } return n } func switchLabeledOuter_ssa() int { var n int Done: switch g { case 0: n = 1 switch h { case 0: n += 10 break Done } n = 2 } return n } // TestBreakContinue tests that continue and break statements do what they say. func TestBreakContinue(t *testing.T) { tests := [...]struct { name string fn func() int want int }{ {"continuePlain_ssa", continuePlain_ssa, 9}, {"continueLabeled_ssa", continueLabeled_ssa, 9}, {"continuePlainInner_ssa", continuePlainInner_ssa, 29}, {"continueLabeledInner_ssa", continueLabeledInner_ssa, 29}, {"continueLabeledOuter_ssa", continueLabeledOuter_ssa, 5}, {"breakPlain_ssa", breakPlain_ssa, 5}, {"breakLabeled_ssa", breakLabeled_ssa, 5}, {"breakPlainInner_ssa", breakPlainInner_ssa, 25}, {"breakLabeledInner_ssa", breakLabeledInner_ssa, 25}, {"breakLabeledOuter_ssa", breakLabeledOuter_ssa, 5}, {"switchPlain_ssa", switchPlain_ssa, 1}, {"switchLabeled_ssa", switchLabeled_ssa, 1}, {"switchPlainInner_ssa", switchPlainInner_ssa, 2}, {"switchLabeledInner_ssa", switchLabeledInner_ssa, 2}, {"switchLabeledOuter_ssa", switchLabeledOuter_ssa, 11}, // no select tests; they're identical to switch } for _, test := range tests { if got := test.fn(); got != test.want { t.Errorf("%s()=%d, want %d", test.name, got, test.want) } } }
Upload File
Create Folder