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: namedReturn_test.go
// Copyright 2016 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. // This test makes sure that naming named // return variables in a return statement works. // See issue #14904. package main import ( "runtime" "testing" ) // Our heap-allocated object that will be GC'd incorrectly. // Note that we always check the second word because that's // where 0xdeaddeaddeaddead is written. type B [4]int // small (SSAable) array type A1 [3]*B //go:noinline func f1() (t A1) { t[0] = &B{91, 92, 93, 94} runtime.GC() return t } // large (non-SSAable) array type A2 [8]*B //go:noinline func f2() (t A2) { t[0] = &B{91, 92, 93, 94} runtime.GC() return t } // small (SSAable) struct type A3 struct { a, b, c *B } //go:noinline func f3() (t A3) { t.a = &B{91, 92, 93, 94} runtime.GC() return t } // large (non-SSAable) struct type A4 struct { a, b, c, d, e, f *B } //go:noinline func f4() (t A4) { t.a = &B{91, 92, 93, 94} runtime.GC() return t } var sink *B func f5() int { b := &B{91, 92, 93, 94} t := A4{b, nil, nil, nil, nil, nil} sink = b // make sure b is heap allocated ... sink = nil // ... but not live runtime.GC() t = t return t.a[1] } func TestNamedReturn(t *testing.T) { if v := f1()[0][1]; v != 92 { t.Errorf("f1()[0][1]=%d, want 92\n", v) } if v := f2()[0][1]; v != 92 { t.Errorf("f2()[0][1]=%d, want 92\n", v) } if v := f3().a[1]; v != 92 { t.Errorf("f3().a[1]=%d, want 92\n", v) } if v := f4().a[1]; v != 92 { t.Errorf("f4().a[1]=%d, want 92\n", v) } if v := f5(); v != 92 { t.Errorf("f5()=%d, want 92\n", v) } }
Upload File
Create Folder