master
test: migrate remaining files to go:build syntax
[dev.typealias] cmd/compile: export/import test cases for type aliases
reflect: fix ArenaNew to match documentation
cmd/compile: use exact constant in go_asm.h
[dev.typeparams] cmd/compile/internal/types2: implement close(ch) where ch is of type parameter type
cmd/compile: simplify closure name
test: use dot-relative imports where appropriate
cmd/compile/internal/ssa: constant fold math/bits functions
all: make copyright headers consistent with one space after period
test: make rundir match compiledir/errorcheckdir.
cmd/internal/obj/x86: fix breaking change in ABI0 NOFRAME BP expectations
go/types, types2: use "and not used" instead of "but not used" in error messages
go/types, types2: more systematic use of Checker.use und useLHS
runtime: move getcallersp to internal/runtime/sys
runtime,internal: move runtime/internal/sys to internal/runtime/sys
runtime: use internal/strconv
test: compile source files as if from "test" module
cmd/compile: generate args_stackmap for ABI0 assembly func regardless of linkname
cmd/gc: do not omit wrapper for expression (interface{...}).F
cmd/internal/obj: fix tail call in non-zero frame leaf function on MIPS and S390X
[dev.simd] simd, cmd/compile: rename loads and stores
test/stress: fix typo in comment
cmd/compile: better error message when offending/missing token is a keyword
cmd/compile: eliminate impossible type assertions in generic functions
test: follow got/want convention in uintptrescapes test
internal/buildcfg: enable greenteagc experiment by default
test: [a-c]: add introductory comments to tests Very few of the compiler regression tests include a comment saying waht they do. Many are obvious, some are anything but. I've started with a-c in the top directory. More will follow once we agree on the approach, correctness, and thoroughness here. zerodivide.go sneaked in too.
cmd/gc: Error out on division by constant zero.
internal/testdir: move to cmd/internal/testdir
test: add test that required algs get generated
go/types, types2: qualify named types in error messages with type kind
test: check that unaligned load-add opcodes work.
cmd/compile: optimize append(x, make([]T, y)...) slice extension
cmd/compile: use "cannot use %s as %s value in %s: %s" error message
test: run some more tests by default
cmd/internal/obj: continue to optimize ARM's constant pool
cmd/compile: emit sensible go_asm.h consts for big ints
sync: add explicit noCopy fields to Map, Mutex, and Once
cmd/compile: keep value use counts in SSA
test: ensure all failing tests exit nonzero.
runtime: handle and test large map values
test: revert changes made for Go SSA interpreter test.
[dev.typeparams] merge: merge branch 'dev.regabi' into 'dev.typeparams'
cmd/compile: keep blank nodes alive in b.loop
gc: initial BOM is legal. Fixes #4040.
cmd/compile: defer lowering OANDNOT until SSA
[dev.typeparams] test: add scaffolding to run.go to check compiler with -G flag
[dev.regabi] cmd/compile: remove toolstash scaffolding
cmd/compile: do not report error for invalid constant
cmd/compile: make prove understand div, mod better
cmd/compile: add clear(x) builtin
[dev.power64] 9g: fix under-zeroing in clearfat
test: use testlib (first 100)
test: enforce 1 proc in the test otherwise it fails spuriously with "newfunc allocated unexpectedly" message when run with GOMAXPROCS>1 (other goroutine allocates).
cmd/gc: capture variables by value
cmd/compile: experimental loop iterator capture semantics change
cmd/compile/internal/gc: add nil check for closure call on wasm
[dev.regabi] cmd/compile: exporting, importing, and inlining functions with OCLOSURE
[dev.regabi] cmd/compile: fix escape analysis problem with closures
[dev.regabi] test: add a test for inlining closures
Fix several out of date references to 4g/5g/6g/8g/9g.
cmd/compile: rewrite f(g()) for multi-value g() during typecheck
runtime: make complex division c99 compatible
tests: improve consistency and clarity of test diagnostics
go/types, types2: report better error messages for slice expressions
cmd/compile: compute embedded field offset in static initialization
cmd/compile: apply constant folding to ORUNESTR
all: link to https instead of http
all: add wasip1 support
test: add more tests for const decls with ommitted RHS expressions
cmd/gc: cache itab lookup in convT2I.
go/types, types2: implement slice-to-array conversions
cmd/compile: implement slice-to-array conversions
test/convert5: skip mipsle
cmd/compile: modify float-to-[u]int so that amd64 and arm64 match
cmd/compile: handle integer conversions in static init inliner
cmd/compile/internal/types2: refactor untyped conversions
go/types, types2: better error messages for copy built-in
test: use testlib in a few more cases (part 2) Introduced "runoutput" cmd for running generated program
cmd/compile: rewrite a, b = f() to use temporaries when type not identical
test: add open-coded defer tests for too many exits path
[dev.regabi] test: enable finalizer tests on !amd64
cmd/compile: on Wasm and AIX, let deferred nil function panic at invocation
test: remove rundircmpout and cmpout actions
[dev.typeparams] cmd/compile: simplify interface conversions
cmd/compile/internal/devirtualize: use pointer identity for type comparison
all: fix a lot of spelling mistakes
cmd/compile/internal/devirtualize: improve concrete type analysis
cmd/compile: restrict //go:notinheap to runtime/internal/sys
cmd/compile: require 'go 1.16' go.mod line for //go:embed
test: explanatory comments [c-g]*
test,internal/testdir: don't set GOOS/GOARCH
cmd/compile: allocate backing store for append on the stack
cmd/compile: retire "IsHiddenClosure" and "IsDeadcodeClosure"
cmd/compile/internal/escape: propagate constants to interface conversions to avoid allocs
cmd/compile: allow pointer-containing elements in stack allocations
cmd/compile: introduce alias analysis and automatically free non-aliased memory after growslice
cmd/compile: determine static values of len and cap in make() calls
cmd/compile/internal/bloop: avoid extraneous heap allocs in b.Loop body due to autotmp variable scope
cmd/compile: handle multiply-assigned func vars in escape analysis
cmd/compile: use clearer error message for stuct literal
[dev.typeparams] test: rename blank functions
hash/maphash: mark call into runtime hash function as not escaping
cmd/compile: generalize staticuint64s sharing to larger integer constant types
cmd/compile: silence esc diagnostics about directiface OCONVIFACEs
cmd/compile: propagate len([]T{}) to make builtin to allow stack allocation
cmd/compile: restore zero-copy string->[]byte optimization
[dev.typeparams] cmd/compile: simplify ~r/~b naming
reflect: rework method Value representation
runtime: migrate internal/atomic to internal/runtime
test: add regress test cases for self-assignment
runtime/internal/atomic: remove bad go:noescape annotations on Loadp
cmd/compile, unique: model data flow of non-string pointers
test: fix typo in escape_unsafe.go
Fix whitespace (use blanks consistently).
test: ignore MemProfileRecords with no live objects in finprofiled.go
test/float_lit2: fix expressions in comment
test: re-enable a bunch of tests with types2
test: add test cases for index value with range array clear
[dev.typeparams] test: enable some more errorcheck tests
go/parser, syntax: better error message for parameter missing type
cmd/compile: handle boolean and pointer relations
test: fast GC+concurrency+types verification
internal/goexperiment: delete Flags.GenericMethods
test: adjust a test to work with js/wasm's background goroutine
cmd/compile: report block start for gotos jumping into blocks
test: use lower-case error message in heapsampling.go
test: split golden.out into expected output per test
test: commentary for [h-m]*.go
test: convert more tests to rundir/compiledir conventions
cmd/compile: be slightly more tolerant in case of certain syntax errors
test: re-enable most go/tests that were disabled because of types2 differences
all: fix typos
test/initcomma.go: restore what it's supposed to be testing which is trailing commas in literals. They were gofmted away at some point.
cmd/compile: use "init... cycle" instead of "init... loop" in error messages
cmd/compile: handle simple inlined calls in staticinit
go/types: improve recursive type error message
runtime: make FuncForPC return the innermost inlined frame
cmd/compile: copy literals when inlining
sync: use atomic.Bool for Once.done
[dev.typeparams] cmd/compile: simplify inlining variadic calls
cmd/compile: if debugging known bits do not skip optimizing dead values
test: match gofrontend error messages
test: remove -newescape from regress tests
cmd/compile: disallow linkname referring to instantiations
[dev.link] all: clean up some TODOs
cmd/compile: accept 'i' suffix orthogonally on all numbers
runtime: consolidate tiny sizespecializedmalloc functions
all: remove GOEXPERIMENT=swissmap
cmd/compile: fix loopbce overflow check logic
[dev.regabi] cmd/compile: cleanup for concrete types - noder
all: fix some comments
cmd/compile/internal/types2: add unsafe.Add and unsafe.Slice
cmd/compile: optimize make+copy pattern to avoid memclr
cmd/compile: optimize map-clearing range idiom
cmd/{asm,compile,internal/obj}: add "maymorestack" support
cmd/compile: combine x*n - y*n into (x-y)*n
test: a number of fixes.
cmd/compile: use "method T.m already declared" for method redeclaration errors
go/types, types2: better error message when using *interface instead of interface
[dev.typeparams] cmd/compile: fix MethodExpr handling with embedded fields
cmd/compile/internal/staticinit: fix bug in global new(expr)
test: update newinline.go for closure name change
[dev.unified] test: tweak nilcheck test
cmd/link: use >4GB base address for 64-bit PE binaries
test: use a real use function in nilptr2.go
cmd/compile: duplicate nil check to two branches of write barrier
cmd/compile: reenable inline static init
Revert "cmd/compile: redo arm64 LR/FP save and restore"
cmd/compile: redo IsRuntimePkg/IsReflectPkg predicate
cmd/compile/internal/gc: enable new parser by default
test/[n-r]*.go: add documentation The rename ones needed redoing.
all: skip unsupported tests for js/wasm
cmd/compile: add 2 phiopt cases
cmd/compile: fix time traveling proofs in prove
cmd/compile: rewrite Rsh to RshU if arguments are proved positive
cmd/compile: improve single blank variable handling in walkrange
internal/goexperiment: delete RangeFunc goexperiment
cmd/compile: fix typecheck range over rune literal
cmd/compile,runtime: generate hash functions only for types which are map keys
cmd/compile: more error position tests for the typechecker
cmd/compile: track reflect.Type.Method in deadcode
cmd/link: treat reflect.Value.Method like Call
cmd/compile: when marking REFLECTMETHOD, check for reflect package itself
all: use reflect.{Pointer,PointerTo}
[dev.typeparams] cmd/compile: fix missing condition in usemethod
cmd/compile/internal/types2: only mark variables as used if they are
[dev.regabi] cmd/compile: cleanup OAS2FUNC ordering
cmd/asm: fix assembling return jump
[dev.typeparams] cmd/compile/internal/types2: adjusted qualified identifier error message for compiler
cmd/compile: adjust types2 shift check to match go/types (cleanup)
test/[n-z]*.go: add documentation
test: repair expected-error regexp in simd.go
[dev.simd] simd: improve arm64 and amd64 rotateAll
[dev.typeparams] test: finish triaging all outstanding failing tests
cmd/compile: make prove pass use unsatisfiability
cmd/compile,runtime: remove ambiguously live logic
test: stress test for stack objects
test: add test to verify that string copies don't get optimized away
test: add []rune case to string_lit.go
test: clarify log message for surrogate UTF-8 check
[dev.unified] test: add switch test case for tricky nil handling
[dev.typeparams] cmd/compile/internal/types2: report error for invalid (but empty) expr switch
cmd/gc: disallow fallthrough in final case of switch
cmd/compile: use "missing method m" instead of "missing m method"
Revert "cmd/compile: Enable inlining of tail calls"
cmd/compile: pair loads and stores on arm64
runtime: fix finalization and profiling of tiny allocations
cmd/8g: don't allocate a register early for cap(CHAN).
cmd/compile: move duplicate type-case checking into typecheck
cmd/compile/internal/types2: better error for type assertion/switch on type parameter value
cmd/compile, syscall: add //go:uintptrescapes comment, and use it
test: fix tests to work with sizespecializedmalloc turned off
cmd/compile: fix //go:uintptrescapes for basic method calls
cmd/compile: add //go:uintptrkeepalive
cmd/compile: add support for unsafe.{String,StringData,SliceData}
cmd/compile/internal: support new(expr)
cmd/compile: add basic wasmexport support
cmd/compile: allow more types for wasmimport/wasmexport parameters and results
test: add a test for wasm memory usage
weak: prevent unsafe conversions using weak pointers
all: update to use filepath.WalkDir instead of filepath.Walk
cmd/compile: don't emit write barriers for offsets of global addresses
all: use bytes.Cut, strings.Cut
cmd/link: put zero-sized data symbols at same address as runtime.zerobase