go/test
Paul E. Murphy d11e417285 cmd/compile/internal/ssa: cleanup ANDCCconst rewrite rules on PPC64
Avoid creating duplicate usages of ANDCCconst. This is preparation for
a patch to reintroduce ANDconst to simplify the lower pass while
treating ANDCCconst like other *CC* ssa opcodes.

Also, move many of the similar rules wich retarget ANDCCconst users
to the flag result to a common rule for all compares against zero.

Change-Id: Ida86efe17ff413cb82c349d8ef69d2899361f4c0
Reviewed-on: https://go-review.googlesource.com/c/go/+/585400
Reviewed-by: Cherry Mui <cherryyz@google.com>
Reviewed-by: Lynn Boger <laboger@linux.vnet.ibm.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
2024-05-17 15:28:00 +00:00
..
abi test: migrate remaining files to go:build syntax 2023-10-19 23:33:25 +00:00
alias3.dir [dev.typealias] cmd/compile: export/import test cases for type aliases 2017-01-20 05:55:53 +00:00
arenas reflect: fix ArenaNew to match documentation 2023-06-16 17:08:43 +00:00
asmhdr.dir cmd/compile: use exact constant in go_asm.h 2022-01-10 21:27:19 +00:00
chan [dev.typeparams] cmd/compile/internal/types2: implement close(ch) where ch is of type parameter type 2021-07-14 23:33:46 +00:00
closure3.dir cmd/compile/internal/noder: remove inlined closure naming hack 2023-08-17 19:36:29 +00:00
closure5.dir test: use dot-relative imports where appropriate 2022-03-24 02:14:15 +00:00
codegen cmd/compile/internal/ssa: cleanup ANDCCconst rewrite rules on PPC64 2024-05-17 15:28:00 +00:00
ddd2.dir all: make copyright headers consistent with one space after period 2016-05-02 13:43:18 +00:00
dwarf test: make rundir match compiledir/errorcheckdir. 2013-01-11 22:00:48 +01:00
fixedbugs cmd/compile: add test case for using Alias types 2024-05-16 01:45:48 +00:00
import2.dir all: make copyright headers consistent with one space after period 2016-05-02 13:43:18 +00:00
import4.dir go/types, types2: use "and not used" instead of "but not used" in error messages 2022-09-27 21:10:19 +00:00
interface go/types, types2: more systematic use of Checker.use und useLHS 2023-03-28 14:28:33 +00:00
intrinsic.dir runtime: replace all uses of CtzXX with TrailingZerosXX 2022-10-18 18:06:27 +00:00
ken test/ken/slicearray.go: correct type width in comment 2021-12-05 12:50:44 +00:00
linkname.dir test: compile source files as if from "test" module 2022-03-24 17:50:47 +00:00
method4.dir cmd/gc: do not omit wrapper for expression (interface{...}).F 2014-01-07 13:26:48 +01:00
retjmp.dir cmd/internal/obj: fix tail call in non-zero frame leaf function on MIPS and S390X 2021-12-13 22:42:08 +00:00
runtime test: remove -newescape from regress tests 2019-08-28 19:27:20 +00:00
stress test/stress: fix typo in comment 2024-03-25 19:21:35 +00:00
syntax go/parser: adjustments to error messages 2022-09-01 22:37:04 +00:00
typeparam cmd/compile: export/import materialized aliases 2024-04-05 16:29:58 +00:00
uintptrescapes.dir cmd/compile, syscall: add //go:uintptrescapes comment, and use it 2016-07-06 20:48:41 +00:00
64bit.go cmd/gc: Error out on division by constant zero. 2013-01-30 20:21:08 +01:00
235.go
README.md internal/testdir: move to cmd/internal/testdir 2023-05-12 17:18:08 +00:00
alg.go test: add test that required algs get generated 2016-04-24 21:36:52 +00:00
alias.go all: make copyright headers consistent with one space after period 2016-05-02 13:43:18 +00:00
alias1.go all: make copyright headers consistent with one space after period 2016-05-02 13:43:18 +00:00
alias2.go cmd/compile/internal/noder: enable type aliases in type checker 2024-05-15 15:09:14 +00:00
alias3.go [dev.typealias] cmd/compile: export/import test cases for type aliases 2017-01-20 05:55:53 +00:00
align.go test: check that unaligned load-add opcodes work. 2018-04-09 18:57:37 +00:00
append.go cmd/compile: optimize append(x, make([]T, y)...) slice extension 2018-05-06 04:28:23 +00:00
append1.go cmd/compile: use "cannot use %s as %s value in %s: %s" error message 2022-09-28 22:28:39 +00:00
args.go test: run some more tests by default 2012-11-08 09:04:27 -08:00
armimm.go cmd/internal/obj: continue to optimize ARM's constant pool 2017-05-11 13:53:54 +00:00
asmhdr.go cmd/compile: emit sensible go_asm.h consts for big ints 2021-10-30 18:30:05 +00:00
assign.go [dev.typeparams] merge: merge branch 'dev.regabi' into 'dev.typeparams' 2020-12-14 12:13:36 -08:00
assign1.go
atomicload.go cmd/compile: keep value use counts in SSA 2016-03-17 04:20:02 +00:00
bigalg.go test: ensure all failing tests exit nonzero. 2013-02-12 13:17:49 -05:00
bigmap.go runtime: handle and test large map values 2012-05-24 22:41:07 -04:00
blank.go test: revert changes made for Go SSA interpreter test. 2013-10-08 14:36:20 -04:00
blank1.go [dev.typeparams] merge: merge branch 'dev.regabi' into 'dev.typeparams' 2020-12-14 12:13:36 -08:00
bom.go gc: initial BOM is legal. 2012-09-10 13:03:07 -07:00
bombad.go all: make copyright headers consistent with one space after period 2016-05-02 13:43:18 +00:00
bounds.go cmd/compile: defer lowering OANDNOT until SSA 2020-10-27 03:11:45 +00:00
cannotassign.go [dev.typeparams] test: add scaffolding to run.go to check compiler with -G flag 2020-12-01 21:49:31 +00:00
chancap.go [dev.regabi] cmd/compile: remove toolstash scaffolding 2021-01-05 21:44:30 +00:00
chanlinear.go test: migrate remaining files to go:build syntax 2023-10-19 23:33:25 +00:00
char_lit.go
char_lit1.go cmd/compile: do not report error for invalid constant 2021-03-05 18:46:43 +00:00
checkbce.go test: migrate remaining files to go:build syntax 2023-10-19 23:33:25 +00:00
clear.go cmd/compile: add clear(x) builtin 2023-01-31 19:43:07 +00:00
clearfat.go [dev.power64] 9g: fix under-zeroing in clearfat 2014-10-31 11:08:27 -04:00
closedchan.go
closure.go test: enforce 1 proc in the test 2012-07-01 21:59:50 +04:00
closure1.go cmd/gc: capture variables by value 2015-01-29 13:07:30 +00:00
closure2.go cmd/compile: experimental loop iterator capture semantics change 2023-03-06 18:34:24 +00:00
closure3.go test: migrate remaining files to go:build syntax 2023-10-19 23:33:25 +00:00
closure4.go cmd/compile/internal/gc: add nil check for closure call on wasm 2018-08-14 09:19:38 +00:00
closure5.go [dev.regabi] cmd/compile: exporting, importing, and inlining functions with OCLOSURE 2021-01-20 22:53:32 +00:00
closure6.go [dev.regabi] cmd/compile: fix escape analysis problem with closures 2021-01-23 02:15:24 +00:00
closure7.go [dev.regabi] test: add a test for inlining closures 2021-02-01 18:28:05 +00:00
cmp.go Fix several out of date references to 4g/5g/6g/8g/9g. 2015-06-26 03:38:21 +00:00
cmp6.go [dev.typeparams] test: add scaffolding to run.go to check compiler with -G flag 2020-12-01 21:49:31 +00:00
cmplx.go cmd/compile: rewrite f(g()) for multi-value g() during typecheck 2019-03-14 21:00:20 +00:00
cmplxdivide.c runtime: make complex division c99 compatible 2017-03-15 22:45:17 +00:00
cmplxdivide.go runtime: make complex division c99 compatible 2017-03-15 22:45:17 +00:00
cmplxdivide1.go runtime: make complex division c99 compatible 2017-03-15 22:45:17 +00:00
complit.go
complit1.go test: fix error check messages for 2 types2 tests 2021-06-02 05:14:45 +00:00
compos.go all: make copyright headers consistent with one space after period 2016-05-02 13:43:18 +00:00
const.go cmd/compile: apply constant folding to ORUNESTR 2019-09-26 23:54:29 +00:00
const1.go [dev.typeparams] test: add scaffolding to run.go to check compiler with -G flag 2020-12-01 21:49:31 +00:00
const2.go [dev.typeparams] test: add scaffolding to run.go to check compiler with -G flag 2020-12-01 21:49:31 +00:00
const3.go
const4.go all: link to https instead of http 2015-07-11 14:36:33 +00:00
const5.go all: link to https instead of http 2015-07-11 14:36:33 +00:00
const6.go all: make copyright headers consistent with one space after period 2016-05-02 13:43:18 +00:00
const7.go all: add wasip1 support 2023-04-11 20:56:32 +00:00
const8.go test: add more tests for const decls with ommitted RHS expressions 2022-06-28 18:11:31 +00:00
convT2X.go cmd/gc: cache itab lookup in convT2I. 2012-07-03 09:09:05 +10:00
convert.go
convert1.go all: make copyright headers consistent with one space after period 2016-05-02 13:43:18 +00:00
convert2.go go/types, types2: implement slice-to-array conversions 2022-09-08 15:55:44 +00:00
convert3.go
convert4.go cmd/compile: implement slice-to-array conversions 2022-09-19 18:58:26 +00:00
convinline.go cmd/compile: handle integer conversions in static init inliner 2022-11-17 13:46:05 +00:00
convlit.go cmd/compile/internal/types2: refactor untyped conversions 2021-03-23 05:11:09 +00:00
convlit1.go
copy.go test: ensure all failing tests exit nonzero. 2013-02-12 13:17:49 -05:00
copy1.go [dev.typeparams] test: enable some more errorcheck tests 2020-12-04 21:22:23 +00:00
crlf.go test: use testlib in a few more cases (part 2) 2012-04-20 23:45:43 +08:00
ddd.go all: make copyright headers consistent with one space after period 2016-05-02 13:43:18 +00:00
ddd1.go cmd/compile: use "cannot use %s as %s value in %s: %s" error message 2022-09-28 22:28:39 +00:00
ddd2.go all: make copyright headers consistent with one space after period 2016-05-02 13:43:18 +00:00
decl.go test: ensure all failing tests exit nonzero. 2013-02-12 13:17:49 -05:00
declbad.go cmd/compile: rewrite a, b = f() to use temporaries when type not identical 2021-06-14 07:12:37 +00:00
defer.go test: ensure all failing tests exit nonzero. 2013-02-12 13:17:49 -05:00
defererrcheck.go test: re-enable open-coded defer test on riscv64 2020-02-26 16:54:17 +00:00
deferfin.go [dev.regabi] test: enable finalizer tests on !amd64 2021-01-05 21:11:31 +00:00
defernil.go cmd/compile: on Wasm and AIX, let deferred nil function panic at invocation 2019-10-16 00:05:37 +00:00
deferprint.go test: remove rundircmpout and cmpout actions 2018-05-31 17:36:45 +00:00
deferprint.out
devirt.go [dev.typeparams] cmd/compile: simplify interface conversions 2021-08-09 16:10:20 +00:00
directive.go cmd/compile: restrict //go:notinheap to runtime/internal/sys 2022-09-02 06:22:23 +00:00
directive2.go cmd/compile: restrict //go:notinheap to runtime/internal/sys 2022-09-02 06:22:23 +00:00
divide.go all: make copyright headers consistent with one space after period 2016-05-02 13:43:18 +00:00
divmod.go all: make copyright headers consistent with one space after period 2016-05-02 13:43:18 +00:00
embedfunc.go cmd/compile: require 'go 1.16' go.mod line for //go:embed 2021-01-19 20:07:52 +00:00
embedvers.go cmd/compile: require 'go 1.16' go.mod line for //go:embed 2021-01-19 20:07:52 +00:00
empty.go
env.go test,internal/testdir: don't set GOOS/GOARCH 2023-05-12 12:34:59 +00:00
eof.go all: make copyright headers consistent with one space after period 2016-05-02 13:43:18 +00:00
eof1.go all: make copyright headers consistent with one space after period 2016-05-02 13:43:18 +00:00
escape.go cmd/compile: experimental loop iterator capture semantics change 2023-03-06 18:34:24 +00:00
escape2.go all: remove newline characters after return statements 2023-12-14 17:22:18 +00:00
escape2n.go all: remove newline characters after return statements 2023-12-14 17:22:18 +00:00
escape3.go all: make copyright headers consistent with one space after period 2016-05-02 13:43:18 +00:00
escape4.go cmd/compile/internal/inl: inline based on scoring when GOEXPERIMENT=newinliner 2023-09-14 19:43:26 +00:00
escape5.go cmd/compile/internal/noder: stop preserving original const strings 2023-09-08 18:50:24 +00:00
escape_array.go [dev.typeparams] cmd/compile: simplify ~r/~b naming 2021-05-26 23:50:32 +00:00
escape_calls.go cmd/compile: fix escape analysis of string min/max 2023-12-05 22:06:07 +00:00
escape_closure.go cmd/compile/internal/escape: optimize indirect closure calls 2023-08-17 16:36:09 +00:00
escape_field.go cmd/compile: use clearer error message for stuct literal 2020-09-12 08:31:49 +00:00
escape_goto.go [dev.typeparams] test: rename blank functions 2021-07-28 21:41:07 +00:00
escape_hash_maphash.go hash/maphash: mark call into runtime hash function as not escaping 2019-11-16 20:31:45 +00:00
escape_iface.go test: remove *_unified.go variants 2023-05-23 17:16:35 +00:00
escape_indir.go cmd/compile: use clearer error message for stuct literal 2020-09-12 08:31:49 +00:00
escape_level.go cmd/compile: silence esc diagnostics about directiface OCONVIFACEs 2019-09-03 17:52:06 +00:00
escape_map.go cmd/compile: use clearer error message for stuct literal 2020-09-12 08:31:49 +00:00
escape_mutations.go cmd/compile: restore zero-copy string->[]byte optimization 2023-08-18 11:58:37 +00:00
escape_param.go [dev.typeparams] cmd/compile: simplify ~r/~b naming 2021-05-26 23:50:32 +00:00
escape_reflect.go cmd/compile/internal/noder: stop preserving original const strings 2023-09-08 18:50:24 +00:00
escape_runtime_atomic.go runtime: migrate internal/atomic to internal/runtime 2024-03-25 19:53:03 +00:00
escape_selfassign.go test: add regress test cases for self-assignment 2019-04-17 16:36:56 +00:00
escape_slice.go cmd/compile/internal/noder: stop preserving original const strings 2023-09-08 18:50:24 +00:00
escape_struct_param1.go cmd/compile: use clearer error message for stuct literal 2020-09-12 08:31:49 +00:00
escape_struct_param2.go cmd/compile: use clearer error message for stuct literal 2020-09-12 08:31:49 +00:00
escape_struct_return.go [dev.typeparams] cmd/compile: simplify ~r/~b naming 2021-05-26 23:50:32 +00:00
escape_sync_atomic.go runtime/internal/atomic: remove bad go:noescape annotations on Loadp 2019-04-17 19:09:15 +00:00
escape_unsafe.go test: fix typo in escape_unsafe.go 2022-09-07 17:25:59 +00:00
fibo.go Fix whitespace (use blanks consistently). 2014-12-08 22:22:58 +00:00
finprofiled.go test: ignore MemProfileRecords with no live objects in finprofiled.go 2023-11-16 05:48:00 +00:00
float_lit.go test: ensure all failing tests exit nonzero. 2013-02-12 13:17:49 -05:00
float_lit2.go test/float_lit2: fix expressions in comment 2016-09-14 16:39:47 +00:00
float_lit3.go test: re-enable a bunch of tests with types2 2021-12-03 16:24:32 +00:00
floatcmp.go test: ensure all failing tests exit nonzero. 2013-02-12 13:17:49 -05:00
for.go test: add test cases for index value with range array clear 2023-07-10 16:36:41 +00:00
func.go
func1.go [dev.typeparams] test: enable some more errorcheck tests 2020-12-04 21:22:23 +00:00
func2.go
func3.go
func4.go
func5.go
func6.go all: make copyright headers consistent with one space after period 2016-05-02 13:43:18 +00:00
func7.go all: make copyright headers consistent with one space after period 2016-05-02 13:43:18 +00:00
func8.go all: make copyright headers consistent with one space after period 2016-05-02 13:43:18 +00:00
funcdup.go [dev.typeparams] test: enable some more errorcheck tests 2020-12-04 21:22:23 +00:00
funcdup2.go [dev.typeparams] test: enable some more errorcheck tests 2020-12-04 21:22:23 +00:00
fuse.go cmd/compile: improve integer comparisons with numeric bounds 2024-01-23 00:02:36 +00:00
gc.go
gc1.go
gc2.go test: migrate remaining files to go:build syntax 2023-10-19 23:33:25 +00:00
gcgort.go test: fast GC+concurrency+types verification 2018-05-08 21:15:48 +00:00
gcstring.go all: make copyright headers consistent with one space after period 2016-05-02 13:43:18 +00:00
goprint.go test: adjust a test to work with js/wasm's background goroutine 2019-10-10 19:38:06 +00:00
goprint.out
goto.go cmd/compile: report block start for gotos jumping into blocks 2017-04-19 02:27:58 +00:00
heapsampling.go test/heapsampling.go: slow down allocation rate and reduce iterations 2022-05-27 21:36:06 +00:00
helloworld.go test: remove rundircmpout and cmpout actions 2018-05-31 17:36:45 +00:00
helloworld.out
if.go
import.go
import1.go go/types, types2: use "and not used" instead of "but not used" in error messages 2022-09-27 21:10:19 +00:00
import2.go all: make copyright headers consistent with one space after period 2016-05-02 13:43:18 +00:00
import4.go test: convert more tests to rundir/compiledir conventions 2012-10-07 23:22:01 +02:00
import5.go cmd/compile: be slightly more tolerant in case of certain syntax errors 2017-03-24 20:07:15 +00:00
import6.go test: re-enable most go/tests that were disabled because of types2 differences 2022-01-11 02:26:58 +00:00
index.go all: fix typos 2019-09-08 17:28:20 +00:00
index0.go all: make copyright headers consistent with one space after period 2016-05-02 13:43:18 +00:00
index1.go all: make copyright headers consistent with one space after period 2016-05-02 13:43:18 +00:00
index2.go all: make copyright headers consistent with one space after period 2016-05-02 13:43:18 +00:00
indirect.go
indirect1.go
init.go [dev.typeparams] merge: merge branch 'dev.regabi' into 'dev.typeparams' 2020-12-14 12:13:36 -08:00
init1.go all: make copyright headers consistent with one space after period 2016-05-02 13:43:18 +00:00
initcomma.go
initexp.go cmd/compile: use "init... cycle" instead of "init... loop" in error messages 2022-09-23 20:27:09 +00:00
initialize.go cmd/compile: handle simple inlined calls in staticinit 2022-11-16 04:04:52 +00:00
initializerr.go test: re-enable most go/tests that were disabled because of types2 differences 2022-01-11 02:26:58 +00:00
initloop.go [dev.typeparams] cmd/compile/internal/types2: adjusted qualified identifier error message for compiler 2020-12-09 23:56:19 +00:00
inline.go test: migrate remaining files to go:build syntax 2023-10-19 23:33:25 +00:00
inline_big.go cmd/compile: restore zero-copy string->[]byte optimization 2023-08-18 11:58:37 +00:00
inline_caller.go runtime: make FuncForPC return the innermost inlined frame 2019-01-08 21:54:04 +00:00
inline_callers.go runtime: make FuncForPC return the innermost inlined frame 2019-01-08 21:54:04 +00:00
inline_endian.go cmd/compile: make encoding/binary appends cheaper to inline 2022-09-15 21:05:02 +00:00
inline_literal.go cmd/compile: copy literals when inlining 2017-03-03 21:29:32 +00:00
inline_math_bits_rotate.go test: migrate remaining files to go:build syntax 2023-10-19 23:33:25 +00:00
inline_sync.go sync: use atomic.Uint32 in Once 2023-10-06 21:01:50 +00:00
inline_variadic.go [dev.typeparams] cmd/compile: simplify inlining variadic calls 2021-05-26 23:50:45 +00:00
int_lit.go
intcvt.go
intrinsic.go test: migrate remaining files to go:build syntax 2023-10-19 23:33:25 +00:00
intrinsic_atomic.go test: migrate remaining files to go:build syntax 2023-10-19 23:33:25 +00:00
iota.go
label.go test: match gofrontend error messages 2020-11-28 02:31:54 +00:00
label1.go test: match gofrontend error messages 2020-11-28 02:31:54 +00:00
linkmain.go test: migrate remaining files to go:build syntax 2023-10-19 23:33:25 +00:00
linkmain_run.go test: migrate remaining files to go:build syntax 2023-10-19 23:33:25 +00:00
linkname.go test: remove -newescape from regress tests 2019-08-28 19:27:20 +00:00
linkname3.go cmd/compile: disallow linkname referring to instantiations 2024-05-15 19:27:25 +00:00
linkobj.go test: migrate remaining files to go:build syntax 2023-10-19 23:33:25 +00:00
linkx.go [dev.link] all: clean up some TODOs 2019-11-01 20:13:05 +00:00
linkx_run.go test: migrate remaining files to go:build syntax 2023-10-19 23:33:25 +00:00
literal.go test: ensure all failing tests exit nonzero. 2013-02-12 13:17:49 -05:00
literal2.go cmd/compile: accept 'i' suffix orthogonally on all numbers 2019-02-19 22:45:09 +00:00
live.go math/rand, math/rand/v2: use ChaCha8 for global rand 2023-12-05 20:34:30 +00:00
live1.go all: make copyright headers consistent with one space after period 2016-05-02 13:43:18 +00:00
live2.go cmd/compile/internal/reflectdata: share hmap and hiter types 2023-08-21 23:29:33 +00:00
live_regabi.go math/rand, math/rand/v2: use ChaCha8 for global rand 2023-12-05 20:34:30 +00:00
live_uintptrkeepalive.go test: migrate remaining files to go:build syntax 2023-10-19 23:33:25 +00:00
loopbce.go test: migrate remaining files to go:build syntax 2023-10-19 23:33:25 +00:00
mainsig.go [dev.regabi] cmd/compile: cleanup for concrete types - noder 2020-12-17 04:43:46 +00:00
makechan.go all: fix some comments 2024-04-04 14:29:45 +00:00
makemap.go cmd/compile/internal/types2: add unsafe.Add and unsafe.Slice 2021-04-23 00:41:01 +00:00
makenew.go [dev.typeparams] test: enable some more errorcheck tests 2020-12-04 21:22:23 +00:00
makeslice.go cmd/compile: optimize make+copy pattern to avoid memclr 2020-05-07 17:50:24 +00:00
mallocfin.go
map.go test/mapnan.go: add regression test for non-empty interfaces. 2014-08-06 17:02:55 -04:00
map1.go [dev.typeparams] merge: merge branch 'dev.regabi' into 'dev.typeparams' 2020-12-14 12:13:36 -08:00
mapclear.go cmd/compile: optimize map-clearing range idiom 2018-05-08 21:15:16 +00:00
maplinear.go test: migrate remaining files to go:build syntax 2023-10-19 23:33:25 +00:00
maymorestack.go cmd/{asm,compile,internal/obj}: add "maymorestack" support 2021-11-05 00:52:06 +00:00
mergemul.go cmd/compile: combine x*n - y*n into (x-y)*n 2017-09-03 14:29:38 +00:00
method.go test: a number of fixes. 2013-02-11 18:20:52 -05:00
method1.go cmd/compile: use "method T.m already declared" for method redeclaration errors 2022-09-27 21:59:19 +00:00
method2.go go/types, types2: better error message when using *interface instead of interface 2022-01-10 22:48:40 +00:00
method3.go
method4.go test: convert more tests to rundir/compiledir conventions 2012-10-07 23:22:01 +02:00
method5.go all: make copyright headers consistent with one space after period 2016-05-02 13:43:18 +00:00
method6.go [dev.typeparams] test: enable some more errorcheck tests 2020-12-04 21:22:23 +00:00
method7.go [dev.typeparams] cmd/compile: fix MethodExpr handling with embedded fields 2021-01-26 17:05:06 +00:00
named.go all: make copyright headers consistent with one space after period 2016-05-02 13:43:18 +00:00
named1.go [dev.typeparams] test: enable some more errorcheck tests 2020-12-04 21:22:23 +00:00
newinline.go cmd/compile/internal/inline: refactor AnalyzeFunc 2023-11-16 20:15:25 +00:00
nil.go test: ensure all failing tests exit nonzero. 2013-02-12 13:17:49 -05:00
nilcheck.go [dev.unified] test: tweak nilcheck test 2022-06-30 18:41:59 +00:00
nilptr.go test: migrate remaining files to go:build syntax 2023-10-19 23:33:25 +00:00
nilptr2.go test: use a real use function in nilptr2.go 2019-05-11 03:02:33 +00:00
nilptr3.go test: migrate remaining files to go:build syntax 2023-10-19 23:33:25 +00:00
nilptr4.go all: make copyright headers consistent with one space after period 2016-05-02 13:43:18 +00:00
nilptr5.go test: migrate remaining files to go:build syntax 2023-10-19 23:33:25 +00:00
nilptr5_aix.go test: migrate remaining files to go:build syntax 2023-10-19 23:33:25 +00:00
nilptr5_wasm.go test: migrate remaining files to go:build syntax 2023-10-19 23:33:25 +00:00
nilptr_aix.go test: migrate remaining files to go:build syntax 2023-10-19 23:33:25 +00:00
noinit.go cmd/compile: reenable inline static init 2023-04-14 17:57:36 +00:00
nosplit.go test: migrate remaining files to go:build syntax 2023-10-19 23:33:25 +00:00
nowritebarrier.go cmd/compile: redo IsRuntimePkg/IsReflectPkg predicate 2023-08-22 19:18:21 +00:00
nul1.go cmd/compile/internal/gc: enable new parser by default 2016-10-25 22:28:40 +00:00
opt_branchlikely.go test: migrate remaining files to go:build syntax 2023-10-19 23:33:25 +00:00
parentype.go
peano.go all: skip unsupported tests for js/wasm 2018-04-30 19:39:18 +00:00
phiopt.go test: migrate remaining files to go:build syntax 2023-10-19 23:33:25 +00:00
print.go test: remove rundircmpout and cmpout actions 2018-05-31 17:36:45 +00:00
print.out cmd/compile: fix print/println when input is uint 2017-09-26 04:08:38 +00:00
printbig.go test: remove rundircmpout and cmpout actions 2018-05-31 17:36:45 +00:00
printbig.out
prove.go cmd/compile: improve integer comparisons with numeric bounds 2024-01-23 00:02:36 +00:00
prove_constant_folding.go test: migrate remaining files to go:build syntax 2023-10-19 23:33:25 +00:00
prove_invert_loop_with_unused_iterators.go test: migrate remaining files to go:build syntax 2023-10-19 23:33:25 +00:00
range.go cmd/compile: improve single blank variable handling in walkrange 2017-09-12 05:50:54 +00:00
range2.go all: rename GOEXPERIMENT=range to rangefunc 2023-11-08 15:32:14 +00:00
range3.go cmd/compile: fix typecheck range over rune literal 2023-12-01 17:20:08 +00:00
range4.go cmd/compile: handle defined iter func type correctly 2024-01-08 16:00:53 +00:00
rangegen.go test: skip rangegen.go on 32-bit platforms 2023-12-18 23:35:19 +00:00
recover.go all: make copyright headers consistent with one space after period 2016-05-02 13:43:18 +00:00
recover1.go all: make copyright headers consistent with one space after period 2016-05-02 13:43:18 +00:00
recover2.go cmd/compile,runtime: generate hash functions only for types which are map keys 2019-09-03 20:41:29 +00:00
recover3.go all: make copyright headers consistent with one space after period 2016-05-02 13:43:18 +00:00
recover4.go test: migrate remaining files to go:build syntax 2023-10-19 23:33:25 +00:00
recover5.go cmd/compile: more error position tests for the typechecker 2017-04-24 12:37:49 +00:00
reflectmethod1.go cmd/compile: track reflect.Type.Method in deadcode 2016-03-11 21:19:20 +00:00
reflectmethod2.go cmd/compile: track reflect.Type.Method in deadcode 2016-03-11 21:19:20 +00:00
reflectmethod3.go cmd/compile: track reflect.Type.Method in deadcode 2016-03-11 21:19:20 +00:00
reflectmethod4.go cmd/link: treat reflect.Value.Method like Call 2016-03-11 22:07:02 +00:00
reflectmethod5.go cmd/compile: when marking REFLECTMETHOD, check for reflect package itself 2020-04-19 03:12:32 +00:00
reflectmethod6.go cmd/compile: when marking REFLECTMETHOD, check for reflect package itself 2020-04-19 03:12:32 +00:00
reflectmethod7.go all: use reflect.{Pointer,PointerTo} 2021-10-26 14:24:17 +00:00
reflectmethod8.go [dev.typeparams] cmd/compile: fix missing condition in usemethod 2021-07-22 17:48:41 +00:00
rename.go all: make copyright headers consistent with one space after period 2016-05-02 13:43:18 +00:00
rename1.go cmd/compile/internal/types2: only mark variables as used if they are 2023-04-19 14:07:00 +00:00
reorder.go [dev.regabi] cmd/compile: cleanup OAS2FUNC ordering 2021-01-16 23:19:26 +00:00
reorder2.go all: make copyright headers consistent with one space after period 2016-05-02 13:43:18 +00:00
retjmp.go cmd/asm: fix assembling return jump 2018-03-01 21:11:16 +00:00
return.go all: make copyright headers consistent with one space after period 2016-05-02 13:43:18 +00:00
rotate.go all: make copyright headers consistent with one space after period 2016-05-02 13:43:18 +00:00
rotate0.go all: make copyright headers consistent with one space after period 2016-05-02 13:43:18 +00:00
rotate1.go all: make copyright headers consistent with one space after period 2016-05-02 13:43:18 +00:00
rotate2.go all: make copyright headers consistent with one space after period 2016-05-02 13:43:18 +00:00
rotate3.go all: make copyright headers consistent with one space after period 2016-05-02 13:43:18 +00:00
rune.go all: make copyright headers consistent with one space after period 2016-05-02 13:43:18 +00:00
runtime.go [dev.typeparams] cmd/compile/internal/types2: adjusted qualified identifier error message for compiler 2020-12-09 23:56:19 +00:00
shift1.go test: re-enable a bunch of tests with types2 2021-12-03 16:24:32 +00:00
shift2.go all: make copyright headers consistent with one space after period 2016-05-02 13:43:18 +00:00
shift3.go cmd/compile: adjust types2 shift check to match go/types (cleanup) 2022-04-07 17:19:55 +00:00
sieve.go
sigchld.go test: migrate remaining files to go:build syntax 2023-10-19 23:33:25 +00:00
sigchld.out
simassign.go
sizeof.go all: make copyright headers consistent with one space after period 2016-05-02 13:43:18 +00:00
slice3.go all: make copyright headers consistent with one space after period 2016-05-02 13:43:18 +00:00
slice3err.go [dev.typeparams] test: finish triaging all outstanding failing tests 2020-12-14 21:28:48 +00:00
slicecap.go all: make copyright headers consistent with one space after period 2016-05-02 13:43:18 +00:00
sliceopt.go cmd/compile: make prove pass use unsatisfiability 2018-03-08 22:25:25 +00:00
solitaire.go
stack.go
stackobj.go cmd/compile,runtime: remove ambiguously live logic 2018-10-03 19:54:16 +00:00
stackobj2.go test: stress test for stack objects 2018-10-03 19:54:29 +00:00
stackobj3.go cmd/compile,runtime: remove ambiguously live logic 2018-10-03 19:54:16 +00:00
strcopy.go test: add test to verify that string copies don't get optimized away 2018-06-12 19:10:34 +00:00
strength.go all: fix typos 2019-09-08 17:28:20 +00:00
string_lit.go test: add []rune case to string_lit.go 2013-12-12 17:17:02 -08:00
stringrange.go all: make Unicode surrogate halves illegal as UTF-8 2012-08-08 14:01:23 -07:00
struct0.go all: make copyright headers consistent with one space after period 2016-05-02 13:43:18 +00:00
switch.go [dev.unified] test: add switch test case for tricky nil handling 2022-07-19 23:30:49 +00:00
switch2.go go/parser: adjustments to error messages 2022-09-01 22:37:04 +00:00
switch3.go [dev.typeparams] cmd/compile/internal/types2: report error for invalid (but empty) expr switch 2020-12-15 19:43:32 +00:00
switch4.go cmd/gc: disallow fallthrough in final case of switch 2013-03-15 00:35:09 -04:00
switch5.go [dev.typeparams] test: finish triaging all outstanding failing tests 2020-12-14 21:28:48 +00:00
switch6.go cmd/compile: use "missing method m" instead of "missing m method" 2022-09-24 17:04:15 +00:00
switch7.go [dev.typeparams] test: finish triaging all outstanding failing tests 2020-12-14 21:28:48 +00:00
tighten.go cmd/compile: enhance tighten pass for memory values 2023-05-16 01:01:38 +00:00
tinyfin.go runtime: fix finalization and profiling of tiny allocations 2015-11-03 18:57:18 +00:00
torture.go cmd/8g: don't allocate a register early for cap(CHAN). 2014-07-01 09:20:51 +02:00
turing.go
typecheck.go test: re-enable most go/tests that were disabled because of types2 differences 2022-01-11 02:26:58 +00:00
typecheckloop.go cmd/compile: use "init... cycle" instead of "init... loop" in error messages 2022-09-23 20:27:09 +00:00
typeswitch.go
typeswitch1.go
typeswitch2.go cmd/compile: move duplicate type-case checking into typecheck 2019-09-11 23:33:11 +00:00
typeswitch2b.go go/types, types2: use "and not used" instead of "but not used" in error messages 2022-09-27 21:10:19 +00:00
typeswitch3.go cmd/compile/internal/types2: better error for type assertion/switch on type parameter value 2021-11-12 22:20:51 +00:00
uintptrescapes.go cmd/compile, syscall: add //go:uintptrescapes comment, and use it 2016-07-06 20:48:41 +00:00
uintptrescapes2.go [dev.typeparams] cmd/compile: skip escape analysis diagnostics for wrappers 2021-06-24 18:24:24 +00:00
uintptrescapes3.go cmd/compile: fix //go:uintptrescapes for basic method calls 2019-11-05 00:26:30 +00:00
uintptrkeepalive.go cmd/compile: add //go:uintptrkeepalive 2022-04-21 18:06:38 +00:00
undef.go all: make copyright headers consistent with one space after period 2016-05-02 13:43:18 +00:00
unsafe_slice_data.go cmd/compile: add support for unsafe.{String,StringData,SliceData} 2022-08-31 17:15:15 +00:00
unsafe_string.go cmd/compile: add support for unsafe.{String,StringData,SliceData} 2022-08-31 17:15:15 +00:00
unsafe_string_data.go cmd/compile: add support for unsafe.{String,StringData,SliceData} 2022-08-31 17:15:15 +00:00
unsafebuiltins.go cmd/compile: add support for unsafe.{String,StringData,SliceData} 2022-08-31 17:15:15 +00:00
used.go [dev.typeparams] all: merge dev.regabi (07569da) into dev.typeparams 2020-12-28 00:39:17 -08:00
utf.go
varerr.go [dev.typeparams] test: enable some more errorcheck tests 2020-12-04 21:22:23 +00:00
varinit.go
winbatch.go all: update to use filepath.WalkDir instead of filepath.Walk 2020-12-02 16:33:57 +00:00
writebarrier.go cmd/compile: don't emit write barriers for offsets of global addresses 2021-08-23 19:46:36 +00:00
zerodivide.go all: use bytes.Cut, strings.Cut 2021-10-06 15:53:04 +00:00
zerosize.go cmd/link: put zero-sized data symbols at same address as runtime.zerobase 2023-04-28 18:35:43 +00:00

README.md

The test directory contains tests of the Go tool chain and runtime. It includes black box tests, regression tests, and error output tests. They are run as part of all.bash.

To run just these tests, execute:

../bin/go test cmd/internal/testdir

To run just tests from specified files in this directory, execute:

../bin/go test cmd/internal/testdir -run='Test/(file1.go|file2.go|...)'

Standard library tests should be written as regular Go tests in the appropriate package.

The tool chain and runtime also have regular Go tests in their packages. The main reasons to add a new test to this directory are:

  • it is most naturally expressed using the test runner; or
  • it is also applicable to gccgo and other Go tool chains.