summaryrefslogtreecommitdiff
path: root/test
Commit message (Collapse)AuthorAgeFilesLines
* [dev.unified] all: merge master (85d87b9) into dev.unifieddev.unifiedMatthew Dempsky2022-08-041-0/+32
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Merge List: + 2022-08-04 85d87b9c75 all: update vendored golang.org/x dependencies for Go 1.20 development + 2022-08-04 fb1bfd4d37 all: remove pre-Go 1.17 workarounds + 2022-08-04 44ff9bff0c runtime: clean up panic and deadlock lock ranks + 2022-08-04 f42dc0de74 runtime: make the lock rank DAG make more sense + 2022-08-04 d29a0282e9 runtime: add mayAcquire annotation for finlock + 2022-08-04 c5be4ed7df runtime: add missing trace lock edges + 2022-08-04 2b8a9a484f runtime: generate the lock ranking from a DAG description + 2022-08-04 ddfd639408 runtime: delete unused lock ranks + 2022-08-04 426ea5702b internal/dag: add a Graph type and make node order deterministic + 2022-08-04 d37cc9a8cd go/build, internal/dag: lift DAG parser into an internal package + 2022-08-04 ab0a94c6d3 cmd/dist: require Go 1.17 for building Go + 2022-08-04 1e3c19f3fe runtime: support riscv64 SV57 mode + 2022-08-03 f28fa952b5 make.bat, make.rc: show bootstrap toolchain version + 2022-08-03 87384801dc cmd/asm: update package doc to describe "-p" option + 2022-08-03 c6a2dada0d net: disable TestIPv6WriteMsgUDPAddrPortTargetAddrIPVersion [sic] on DragonflyBSD + 2022-08-02 29b9a328d2 runtime: trivial replacements of g in remaining files + 2022-08-02 c647264619 runtime: trivial replacements of g in signal_unix.go + 2022-08-02 399f50c9d7 runtime: tricky replacements of g in traceback.go + 2022-08-02 4509e951ec runtime: tricky replacements of g in proc.go + 2022-08-02 4400238ec8 runtime: trivial replacements of _g_ in remaining files + 2022-08-02 5999a28de8 runtime: trivial replacements of _g_ in os files + 2022-08-02 0e18cf6d09 runtime: trivial replacements of _g_ in GC files + 2022-08-02 4358a53a97 runtime: trivial replacements of _g_ in proc.go + 2022-08-02 b486518964 runtime: tricky replacements of _g_ in os3_solaris.go + 2022-08-02 54a0ab3f7b runtime: tricky replacements of _g_ in os3_plan9.go + 2022-08-02 4240ff764b runtime: tricky replacements of _g_ in signal_windows.go + 2022-08-02 8666d89ca8 runtime: tricky replacements of _g_ in signal_unix.go + 2022-08-02 74cee276fe runtime: tricky replacements of _g_ in trace.go + 2022-08-02 222799fde6 runtime: tricky replacements of _g_ in mgc.go + 2022-08-02 e9d7f54a1a runtime: tricky replacements of _g_ in proc.go + 2022-08-02 5e8d261918 runtime: rename _p_ to pp + 2022-08-02 0ad2ec6596 runtime: clean up dopanic_m + 2022-08-02 7e952962df runtime: clean up canpanic + 2022-08-02 9dbc0f3556 runtime: fix outdated g.m comment in traceback.go + 2022-08-02 d723df76da internal/goversion: update Version to 1.20 + 2022-08-02 1b7e71e8ae all: disable tests that fail on Alpine + 2022-08-01 f2a9f3e2e0 test: improve generic type assertion test + 2022-08-01 27038b70f8 cmd/compile: fix wrong dict pass condition for type assertions + 2022-08-01 e99f53fed9 doc: move Go 1.19 release notes to x/website + 2022-08-01 8b13a073a1 doc: mention removal of cmd/compile's -importmap and -installsuffix flags + 2022-08-01 e95fd4c238 doc/go1.19: fix typo: EM_LONGARCH -> EM_LOONGARCH + 2022-08-01 dee3efd9f8 doc/go1.19: fix a few links that were missing trailing slashes + 2022-07-30 f32519e5fb runtime: fix typos + 2022-07-29 9a2001a8cc cmd/dist: always pass -short=true with -quick + 2022-07-28 5c8ec89cb5 doc/go1.19: minor adjustments and links + 2022-07-28 417be37048 doc/go1.19: improve the loong64 release notes + 2022-07-28 027855e8d8 os/exec: add GODEBUG setting to opt out of ErrDot changes Change-Id: Idc0fbe93978c0dff7600b90a2c3ecc067fd9f5f2
| * test: improve generic type assertion testMatthew Dempsky2022-08-011-3/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The test added in CL 420394 only tested that the type assertions compiled at all. This CL changes it into a run test to make sure the type assertions compile and also run correctly. Updates #54135. Change-Id: Id17469faad1bb55ff79b0bb4163ef50179330033 Reviewed-on: https://go-review.googlesource.com/c/go/+/420421 Run-TryBot: Matthew Dempsky <mdempsky@google.com> Reviewed-by: Keith Randall <khr@golang.org> Auto-Submit: Matthew Dempsky <mdempsky@google.com> TryBot-Result: Gopher Robot <gobot@golang.org> Reviewed-by: Keith Randall <khr@google.com>
| * cmd/compile: fix wrong dict pass condition for type assertionsWayne Zuo2022-08-011-0/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | Fixes #54135 Change-Id: I2b27af8124014b2699ea44bdc765e1fb8f6c8028 Reviewed-on: https://go-review.googlesource.com/c/go/+/420394 Reviewed-by: Keith Randall <khr@google.com> TryBot-Result: Gopher Robot <gobot@golang.org> Reviewed-by: Keith Randall <khr@golang.org> Reviewed-by: Matthew Dempsky <mdempsky@google.com> Run-TryBot: Wayne Zuo <wdvxdr@golangcn.org> Reviewed-by: Ian Lance Taylor <iant@google.com>
* | [dev.unified] all: merge master (462b78f) into dev.unifiedMatthew Dempsky2022-07-282-2/+18
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Merge List: + 2022-07-27 462b78fe70 misc/cgo/test: use fewer threads in TestSetgidStress in long mode + 2022-07-27 055113ef36 math/big: check buffer lengths in GobDecode + 2022-07-27 4248146154 net: document UDPConn.ReadFromUDPAddrPort's AddrPort result more + 2022-07-26 faf4e97200 net: fix WriteMsgUDPAddrPort addr handling + 2022-07-26 caa225dd29 doc/go1.19: note that updated race syso files require GNU ld 2.26 + 2022-07-26 ceefd3a37b bytes: document that Reader.Reset affects the result of Size + 2022-07-26 3e97294663 runtime/cgo: use frame address to set g0 stack bound + 2022-07-25 24dc27a3c0 cmd/compile: fix blank label code + 2022-07-25 9fcc8b2c1e runtime: fix runtime.Breakpoint() on windows/arm64 + 2022-07-25 795a88d0c3 cmd/go: add space after comma in 'go help test' + 2022-07-25 9eb3992ddd doc/go1.19: minor fixes + 2022-07-25 dcea1ee6e3 time: clarify documentation for allowed formats and add tests to prove them + 2022-07-25 37c8112b82 internal/fuzz: fix typo in function comments + 2022-07-25 850d547d2d doc/go1.19: expand crypto release notes + 2022-07-24 64f2829c9c runtime: fix typo in function comments + 2022-07-24 2ff563a00e cmd/compile/internal/noder: correct spelling errors for instantiation + 2022-07-22 c5da4fb7ac cmd/compile: make jump table symbol local + 2022-07-22 774fa58d1d A+C: delete AUTHORS and CONTRIBUTORS + 2022-07-21 2d655fb15a unsafe: document when Sizeof/Offsetof/Alignof are not constant + 2022-07-21 076c3d7f07 net/http: remove accidental heading in Head documentation + 2022-07-21 c4a6d3048b cmd/dist: enable race detector test on S390X + 2022-07-20 244c8b0500 cmd/cgo: allow cgo to pass strings or []bytes bigger than 1<<30 + 2022-07-20 df38614bd7 test: use go tool from tree, not path + 2022-07-20 bb1749ba3b cmd/compile: improve GOAMD64=v1 violation test + 2022-07-19 176b63e711 crypto/internal/nistec,debug/gosym: fix typos Change-Id: I96e5d60039381691dffd841e58927f0afff8c544
| * cmd/compile: fix blank label codeKeith Randall2022-07-251-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | When checkEnabled is forced true, the 52278 test fails. Be a bit more careful about processing blank labels. Update #52278 Change-Id: I48aa89e2c9e3715d8efe599bc4363b5b5879d8a2 Reviewed-on: https://go-review.googlesource.com/c/go/+/419318 Run-TryBot: Keith Randall <khr@golang.org> TryBot-Result: Gopher Robot <gobot@golang.org> Reviewed-by: Cherry Mui <cherryyz@google.com> Reviewed-by: David Chase <drchase@google.com>
| * test: use go tool from tree, not pathKeith Randall2022-07-201-1/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some of our tests do exec.Command("go", "tool", "compile", ...) or similar. That "go" is selected from PATH. When run.go is started from the command line (but not from all.bash), the first "go" is whatever happens to be first in the user's path (some random older version than tip). We really want all these tests to use the "go" tool from the source tree under test. Add GOROOT/bin to the front of the path to ensure that the tools we use come from the source tree under test. Change-Id: I609261a4add8cd5cb228316752d52b5499aec963 Reviewed-on: https://go-review.googlesource.com/c/go/+/418474 Run-TryBot: Keith Randall <khr@golang.org> Reviewed-by: Keith Randall <khr@google.com> Reviewed-by: Ian Lance Taylor <iant@google.com> TryBot-Result: Gopher Robot <gobot@golang.org>
* | Merge "[dev.unified] all: merge master (8e1e64c) into dev.unified" into ↵Gerrit Code Review2022-07-209-9/+174
|\ \ | | | | | | | | | dev.unified
| * \ [dev.unified] all: merge master (8e1e64c) into dev.unifiedDavid Chase2022-07-199-9/+174
| |\ \ | | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: - test/run.go Conflicts in the known-fails list, plus removed a test from the known-fails that now works. Merge List: + 2022-07-19 8e1e64c16a cmd/compile: fix mknode script + 2022-07-19 28be440d34 A+C: add Weizhi Yan + 2022-07-19 85a482fc24 runtime: revert to using the precomputed trigger for pacer calculations + 2022-07-19 ae7340ab68 CONTRIBUTORS: update for the Go 1.19 release + 2022-07-18 de8101d21b runtime: fix typos + 2022-07-18 967a3d985d cmd/compile: revert "remove -installsuffix flag" + 2022-07-18 c0c1bbde17 http: improve Get documentation + 2022-07-15 2aa473cc54 go/types, types2: correct alignment of atomic.Int64 + 2022-07-15 4651ebf961 encoding/gob: s/TestIngoreDepthLimit/TestIgnoreDepthLimit/ + 2022-07-14 dc00aed6de go/parser: skip TestParseDepthLimit for short tests + 2022-07-14 783ff7dfc4 encoding/xml: skip TestCVE202230633 for short tests + 2022-07-14 aa80228526 cmd/go/internal/modfetch: avoid duplicating path components in Git fetch errors + 2022-07-14 b9d5a25442 cmd/go: save zip sums for downloaded modules in 'go mod download' in a workspace + 2022-07-14 a906d3dd09 cmd/go: avoid re-enqueuing workspace dependencies with errors + 2022-07-14 266c70c263 doc/go1.19: add a release note for 'go list -json=SomeField' + 2022-07-13 558785a0a9 cmd/compile: remove -installsuffix flag + 2022-07-13 1355ea3045 cmd/compile: remove -importmap flag + 2022-07-13 f71f3d1b86 misc/cgo/testshared: run tests only in GOPATH mode + 2022-07-13 feada53661 misc/cgo/testcshared: don't rely on an erroneous install target in tests + 2022-07-13 c006b7ac27 runtime: clear timerModifiedEarliest when last timer is deleted + 2022-07-13 923740a8cc cmd/compile: fix type assert in dict pass + 2022-07-12 bf2ef26be3 cmd/go: in script tests, avoid checking non-main packages for staleness + 2022-07-12 5f5cae7200 cmd/go: avoid indexing GOROOT packages when the compiler is 'gccgo' + 2022-07-12 c2edb2c841 cmd/go: port TestIssue16471 to a script test and add verbose logging + 2022-07-12 9c2526e637 cmd/go/internal/modfetch/codehost: add missing newline in '# lock' log message + 2022-07-12 85486bcccb image/jpeg: increase TestLargeImageWithShortData timeout by an order of magnitude + 2022-07-12 27794c4d4a cmd/go/internal/modload: ignore disallowed errors when checking for updates + 2022-07-12 b2b8872c87 compress/gzip: fix stack exhaustion bug in Reader.Read + 2022-07-12 ac68c6c683 path/filepath: fix stack exhaustion in Glob + 2022-07-12 fa2d41d0ca io/fs: fix stack exhaustion in Glob + 2022-07-12 6fa37e98ea encoding/gob: add a depth limit for ignored fields + 2022-07-12 695be961d5 go/parser: limit recursion depth + 2022-07-12 08c46ed43d encoding/xml: use iterative Skip, rather than recursive + 2022-07-12 c4c1993fd2 encoding/xml: limit depth of nesting in unmarshal + 2022-07-12 913d05133c cmd/go: avoid spurious readdir during fsys.Walk + 2022-07-12 d3d7998756 net/http: clarify that MaxBytesReader returns *MaxBytesError + 2022-07-11 126c22a098 syscall: gofmt after CL 412114 + 2022-07-11 123a6328b7 internal/trace: don't report regions on system goroutines + 2022-07-11 846490110a runtime/race: update amd64 syso images to avoid sse4 + 2022-07-11 b75ad09cae cmd/trace: fix typo in web documentation + 2022-07-11 7510e597de cmd/go: make module index loading O(1) + 2022-07-11 b8bf820d5d cmd/nm: don't rely on an erroneous install target in tests + 2022-07-11 ad641e8521 misc/cgo/testcarchive: don't rely on an erroneous install target in tests + 2022-07-11 bf5898ef53 net/url: use EscapedPath for url.JoinPath + 2022-07-11 398dcd1cf0 database/sql: make TestTxContextWaitNoDiscard test more robust + 2022-07-11 f956941b0f cmd/go: use package index for std in load.loadPackageData + 2022-07-11 59ab6f351a net/http: remove Content-Encoding in writeNotModified + 2022-07-08 c1a4e0fe01 cmd/compile: fix libfuzzer instrumentation line number + 2022-07-08 5c1a13e7a4 cmd/go: avoid setting variables for '/' and ':' in TestScript subprocess environments + 2022-07-08 180bcad33d net/http: wait for listeners to exit in Server.Close and Shutdown + 2022-07-08 14abe8aa73 cmd/compile: don't convert to interface{} for un-comparable types in generic switch + 2022-07-07 1ebc983000 runtime: overestimate the amount of allocated memory in heapLive + 2022-07-07 c177d9d98a crypto/x509: restrict CRL number to <=20 octets + 2022-07-07 486fc01770 crypto/x509: correctly parse CRL entry extensions + 2022-07-07 8ac58de185 crypto/x509: populate Number and AKI of parsed CRLs + 2022-07-07 0c7fcf6bd1 cmd/link: explicitly disable PIE for windows/amd64 -race mode + 2022-07-07 eaf2125654 cmd/go: default to "exe" build mode for windows -race + 2022-07-06 1243ec9c17 cmd/compile: only check implicit dots for method call enabled by a type bound + 2022-07-06 c391156f96 cmd/go: set up git identity for build_buildvcs_auto.txt + 2022-07-06 2acd3646fc cmd/compile: rework induction variable detector + 2022-07-06 53a4152d47 os/exec: clarify that Wait must be called + 2022-07-06 177306f630 cmd/internal/notsha256: add purego tag as needed + 2022-07-06 f4755fc733 cmd/dist: use purego tag when building the bootstrap binaries + 2022-07-06 4484c30f78 misc/cgo/test: make TestSetgidStress cheaper + 2022-07-06 2007599dc8 test: recognize new gofrontend error message + 2022-07-05 d602380f58 cmd/compile: drop "buildcfg" from no instrument packages + 2022-07-05 c111091071 cmd/go: make module@nonexistentversion failures reusable + 2022-07-05 5f305ae8e5 cmd/go: add -reuse flag to make proxy invocations more efficient + 2022-07-05 84e091eef0 cmd/go: record origin metadata during module download + 2022-07-04 ceda93ed67 build/constraint: update doc to mention a feature added in Go 1.17 + 2022-07-04 3cf79d9610 runtime: pass correct string to exits on Plan 9 + 2022-07-01 e822b1e26e net/http: omit invalid header value from error message + 2022-07-01 4a2a3bca18 cmd/go, go/build: clarify build constraint docs + 2022-07-01 9a4d5357f4 flag: highlight support for double dashes in docs + 2022-07-01 c847a2c9f0 go/types, types2: document that exported predicates are unspecified for invalid type arguments + 2022-06-30 405c269b85 go/types, types2: re-enable a couple of commented out tests + 2022-06-30 aad9382e59 go/doc/comment: support links in lists in comments + 2022-06-30 af725f4286 os: fix a typo in path_windows.go Change-Id: I381728322188aca0bfa81a946d6aedda8c07903c
| | * cmd/compile: fix type assert in dict passWayne Zuo2022-07-131-0/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For type assertions, if src type is empty interface, we should use normal type assertions rather than dynamic type assertions. Fixes #53762 Change-Id: I596b2e4ad647fe5e42ad884f7273c78f8f50dac2 Reviewed-on: https://go-review.googlesource.com/c/go/+/416736 Run-TryBot: Wayne Zuo <wdvxdr@golangcn.org> TryBot-Result: Gopher Robot <gobot@golang.org> Reviewed-by: Matthew Dempsky <mdempsky@google.com> Reviewed-by: Michael Knyszek <mknyszek@google.com>
| | * cmd/compile: don't convert to interface{} for un-comparable types in generic ↵Cuong Manh Le2022-07-081-0/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | switch Fixes #53635 Change-Id: I41f383be8870432fc0d29fa83687911ddd8217f1 Reviewed-on: https://go-review.googlesource.com/c/go/+/415634 TryBot-Result: Gopher Robot <gobot@golang.org> Run-TryBot: Cuong Manh Le <cuong.manhle.vn@gmail.com> Reviewed-by: Keith Randall <khr@google.com> Reviewed-by: Keith Randall <khr@golang.org> Reviewed-by: Matthew Dempsky <mdempsky@google.com>
| | * cmd/compile: only check implicit dots for method call enabled by a type boundCuong Manh Le2022-07-061-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes #53419 Change-Id: Ibad64f5c4af2112deeb0a9ecc9c589b17594bd05 Reviewed-on: https://go-review.googlesource.com/c/go/+/414836 Reviewed-by: Matthew Dempsky <mdempsky@google.com> Reviewed-by: David Chase <drchase@google.com> Reviewed-by: Keith Randall <khr@golang.org> TryBot-Result: Gopher Robot <gobot@golang.org> Run-TryBot: Cuong Manh Le <cuong.manhle.vn@gmail.com>
| | * cmd/compile: rework induction variable detectorKeith Randall2022-07-065-5/+122
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Induction variable detection is still not quite right. I've added another failing test. Redo the overflow/underflow detector so it is more obviously correct. Update #53600 Fixes #53653 Fixes #53663 Change-Id: Id95228e282fdbf6bd80b26e1c41d62e935ba08ff Reviewed-on: https://go-review.googlesource.com/c/go/+/415874 Run-TryBot: Keith Randall <khr@golang.org> TryBot-Result: Gopher Robot <gobot@golang.org> Reviewed-by: Russ Cox <rsc@golang.org> Reviewed-by: David Chase <drchase@google.com>
| | * test: recognize new gofrontend error messageIan Lance Taylor2022-07-061-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The new gofrontend message matches other gofrontend error messages, so adjust the test to accept it. For #27938 For #51237 Change-Id: I29b536f83a0cf22b1dbdae9abc2f5f6cf21d522d Reviewed-on: https://go-review.googlesource.com/c/go/+/416014 Run-TryBot: Ian Lance Taylor <iant@golang.org> Reviewed-by: Ian Lance Taylor <iant@google.com> TryBot-Result: Gopher Robot <gobot@golang.org> Reviewed-by: Than McIntosh <thanm@google.com>
* | | [dev.unified] test: add switch test case for tricky nil handlingMatthew Dempsky2022-07-191-0/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The next CL will change Unified IR's switch statement handling to convert values to empty interface in some tricky cases. My initial attempt at this accidentally mishandled `case nil:` in some cases, and this wasn't caught by any existing tests. So this CL adds one. Change-Id: Idcfaf0e869dca91be46d665e65d4623dc52bb60f Reviewed-on: https://go-review.googlesource.com/c/go/+/418099 Reviewed-by: Cuong Manh Le <cuong.manhle.vn@gmail.com> Reviewed-by: Keith Randall <khr@google.com> TryBot-Result: Gopher Robot <gobot@golang.org> Reviewed-by: Keith Randall <khr@golang.org> Run-TryBot: Matthew Dempsky <mdempsky@google.com>
* | | [dev.unified] test: relax panic message expectationsMatthew Dempsky2022-07-191-6/+8
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In this test, traditionally the comparison `*l == r[0]` was left as a comparison between `*l` (type `any`) and `r[0]` (type `*int`), and the rest of the compiler needed to handle mixed-typed comparisons. However, this means more complexity for wiring up explicit rtypes. To simplify rtype handling, the next CL will change unified IR to instead handle the expression as `*l == any(r[0])`. However, a consequence of this currently is that walk will now sequence the `any(r[0])` expression first, because it involves a concrete-to-interface conversion. And in turn, this means the `r[0]` panic ("index out of bounds") will take priority over the `*l` panic ("nil pointer dereference"). This is a change in user-visible semantics in some cases, but the Go spec leaves this unspecified, so it shouldn't be an issue. Note also: gccgo has the same behavior (i.e., panicking on index out of bounds, not nil pointer dereference), and cmd/compile also already has the same behavior when the interface conversion is explicit (as in the added "nil pointer dereference #3" test case). Updates #23735. Updates #32187. Change-Id: I49e5dcca85b4680f9c8780ef0013e64254d38fe5 Reviewed-on: https://go-review.googlesource.com/c/go/+/418097 Run-TryBot: Matthew Dempsky <mdempsky@google.com> TryBot-Result: Gopher Robot <gobot@golang.org> Reviewed-by: Cuong Manh Le <cuong.manhle.vn@gmail.com> Reviewed-by: David Chase <drchase@google.com>
* | [dev.unified] test: change Unicode file/package name to use characters not ↵David Chase2022-07-194-26/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | translated by macOS. In filenames, macOS translates Ä (U+00c4, c3 84) to Ä (U+0041 U+0308, 41 cc 88). This causes problems for run.go's crude rules for testing the compiler. Fixes #53954. Change-Id: I850421cbf07e022ca5ff8122e0fb4e80deb55adf Reviewed-on: https://go-review.googlesource.com/c/go/+/418334 Run-TryBot: David Chase <drchase@google.com> TryBot-Result: Gopher Robot <gobot@golang.org> Reviewed-by: Matthew Dempsky <mdempsky@google.com>
* | [dev.unified] all: merge master (993c387) into dev.unifiedMatthew Dempsky2022-06-3013-1/+208
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: - test/run.go: textual conflict in 1.18 known failures list Merge List: + 2022-06-30 993c387032 os: simplify deadline fluctuation tests + 2022-06-30 4914e4e334 cmd/go/internal/modindex: remove spurious field from index_format documentation + 2022-06-30 981d5947af cmd/go: include module root in package index key + 2022-06-30 84db00ffd1 cmd/go: add a 'sleep' command for script tests + 2022-06-30 31b8c23c57 cmd/compile: fix prove pass when upper condition is <= maxint + 2022-06-30 17083a2fdf spec: retitle section on "Assignments" to "Assignment statements" + 2022-06-30 4d95fe6653 test: add regress test for #53619 + 2022-06-29 6a7c64fde5 debug/pe: add IMAGE_FILE_MACHINE_LOONGARCH{64,32} + 2022-06-29 b2cc0fecc2 net/http: preserve nil values in Header.Clone + 2022-06-29 64ef16e777 cmd/internal/obj/arm64: save LR and SP in one instruction for small frames + 2022-06-29 0750107074 go/token: use atomics not Mutex for last file cache + 2022-06-29 e5017a93fc net/http: don't strip whitespace from Transfer-Encoding headers + 2022-06-29 20760cff00 runtime: add race annotations to cbs.lock + 2022-06-29 e6c0546c54 crypto/x509/pkix: move crl deprecation message + 2022-06-29 3562977b6f cmd/internal/obj/mips,s390x,riscv: save LR after decrementing SP + 2022-06-29 d6481d5b96 runtime: add race annotations to metricsSema + 2022-06-29 bd1783e812 crypto/x509: improve RevocationList documentation + 2022-06-28 160414ca6a cmd/internal/obj/arm64: fix BITCON constant printing error + 2022-06-28 a30f434667 cmd/go: pass --no-decorate when listing git tags for a commit + 2022-06-28 3580ef9d64 os/exec: on Windows, suppress ErrDot if the implicit path matches the explicit one + 2022-06-28 34f3ac5f16 cmd/compile: fix generic inter-inter comparisons from value switch statements + 2022-06-28 7df0a002e6 cmd/go/internal/modfetch: cache latest revinfo in Versions func + 2022-06-28 d5bf9604aa test: add more tests for const decls with ommitted RHS expressions + 2022-06-28 533082d1a0 test: add test that gofrontend failed to compile + 2022-06-28 47e792e22e runtime: clean up unused function gosave on loong64 + 2022-06-28 a6e5be0d30 cmd/go: omit build metadata that may contain system paths when -trimpath is set + 2022-06-28 d3ffff2790 api: correct debug/pe issue number for Go 1.19 changes + 2022-06-28 751cae8855 cmd/go/internal/modload: fix doc comment + 2022-06-28 85d7bab91d go/printer: report allocs and set bytes + 2022-06-27 3af5280c00 net: really skip Windows PTR tests if we say we are skipping them + 2022-06-27 a42573c2f1 net: avoid darwin/arm64 platform bug in TestCloseWrite + 2022-06-27 68289f39f0 html/template: fix typo in content_test.go + 2022-06-27 c3bea70d9b cmd/link: link against libsynchronization.a for -race on windows + 2022-06-27 f093cf90bf test: add test that caused gofrontend crash + 2022-06-27 155612a9b9 test: add test that caused gofrontend crash + 2022-06-27 a861eee51a cmd/go: compile runtime/internal/syscall as a runtime package + 2022-06-27 8f9bfa9b7b crypto/internal/boring: factor Cache into crypto/internal/boring/bcache + 2022-06-26 351e0f4083 runtime: avoid fma in mkfastlog2table + 2022-06-26 416c953960 test: add test that gofrontend gets wrong + 2022-06-26 666d736ecb cmd/compile: do branch/label checks only once + 2022-06-26 6b309be7ab cmd/compile/internal/syntax: check fallthrough in CheckBranches mode + 2022-06-25 1821639b57 runtime: mark string comparison hooks as no split + 2022-06-25 3b594b9255 io: clarify SeekEnd offset value + 2022-06-25 4f45ec5963 cmd/go: prepend builtin prolog when checking for preamble errors + 2022-06-24 41e1d9075e strconv: avoid panic on invalid call to FormatFloat + 2022-06-24 bd4753905d internal/trace: add Go 1.19 test data + 2022-06-24 6b6c64b1cc cmd/internal/archive: don't rely on an erroneous install target in tests Change-Id: Ib43126833bf534c311730d4283d4d25381cd3428
| * cmd/compile: fix prove pass when upper condition is <= maxintKeith Randall2022-06-302-0/+50
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When the terminating condition is <= X, we need to make sure that X+step doesn't overflow. Fixes #53600 Change-Id: I36e5384d05b4d7168e48db6094200fcae409bfe5 Reviewed-on: https://go-review.googlesource.com/c/go/+/415219 Reviewed-by: Than McIntosh <thanm@google.com> Run-TryBot: David Chase <drchase@google.com> Reviewed-by: David Chase <drchase@google.com> TryBot-Result: Gopher Robot <gobot@golang.org> Run-TryBot: Keith Randall <khr@golang.org>
| * test: add regress test for #53619Matthew Dempsky2022-06-301-0/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Works with cmd/compile, but fails with gccgo currently. Updates #53619. Change-Id: I787faa9584cc33bd851c9cc8f146c91f4eb36fc9 Reviewed-on: https://go-review.googlesource.com/c/go/+/415238 Reviewed-by: Ian Lance Taylor <iant@google.com> TryBot-Result: Gopher Robot <gobot@golang.org> Auto-Submit: Matthew Dempsky <mdempsky@google.com> Reviewed-by: Cuong Manh Le <cuong.manhle.vn@gmail.com> Run-TryBot: Matthew Dempsky <mdempsky@google.com>
| * cmd/compile: fix generic inter-inter comparisons from value switch statementsCuong Manh Le2022-06-281-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | If value is a non-empty interface and has shape, we still need to convert it to an interface{} first. Fixes #53477 Change-Id: I516063ba4429a6cc24c483758387ec13815fc63e Reviewed-on: https://go-review.googlesource.com/c/go/+/414834 Reviewed-by: Matthew Dempsky <mdempsky@google.com> TryBot-Result: Gopher Robot <gobot@golang.org> Reviewed-by: David Chase <drchase@google.com> Run-TryBot: Cuong Manh Le <cuong.manhle.vn@gmail.com>
| * test: add more tests for const decls with ommitted RHS expressionsRobert Griesemer2022-06-281-0/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add analogous tests to go/types and types2 test suites. Make sure "assert" built-in is available in type-checker tests. For #49157. For #53585. Change-Id: I092901ecb43eb4833c09bd8f5e38efbe0285babe Reviewed-on: https://go-review.googlesource.com/c/go/+/414795 Run-TryBot: Robert Griesemer <gri@google.com> Reviewed-by: Ian Lance Taylor <iant@google.com> Reviewed-by: Robert Griesemer <gri@google.com> Auto-Submit: Robert Griesemer <gri@google.com> TryBot-Result: Gopher Robot <gobot@golang.org>
| * test: add test that gofrontend failed to compileIan Lance Taylor2022-06-281-0/+17
| | | | | | | | | | | | | | | | | | | | | | For #51475 Change-Id: Ie1b27304687225194a323dc8305e5d62578fff4f Reviewed-on: https://go-review.googlesource.com/c/go/+/414755 TryBot-Result: Gopher Robot <gobot@golang.org> Run-TryBot: Ian Lance Taylor <iant@golang.org> Reviewed-by: Than McIntosh <thanm@google.com> Reviewed-by: Cherry Mui <cherryyz@google.com>
| * test: add test that caused gofrontend crashIan Lance Taylor2022-06-271-0/+17
| | | | | | | | | | | | | | | | | | | | | | For #52871 Change-Id: Id6102222a8b1ec8a84b716425bed0e349c65dbc4 Reviewed-on: https://go-review.googlesource.com/c/go/+/414336 TryBot-Result: Gopher Robot <gobot@golang.org> Run-TryBot: Ian Lance Taylor <iant@golang.org> Reviewed-by: Cherry Mui <cherryyz@google.com> Reviewed-by: Than McIntosh <thanm@google.com>
| * test: add test that caused gofrontend crashIan Lance Taylor2022-06-273-0/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | The gofrontend crashed importing a complex 0 constant. For #52862 Change-Id: Ia87d8eadb9c5ddf51e1cd65c1a626f05f0d068d4 Reviewed-on: https://go-review.googlesource.com/c/go/+/413980 Reviewed-by: Cherry Mui <cherryyz@google.com> Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gopher Robot <gobot@golang.org> Reviewed-by: Than McIntosh <thanm@google.com>
| * test: add test that gofrontend gets wrongIan Lance Taylor2022-06-263-0/+38
| | | | | | | | | | | | | | | | | | | | For #52856 Change-Id: Iab3e8352f64d774058391f0422cd01c53c3e711d Reviewed-on: https://go-review.googlesource.com/c/go/+/414235 Reviewed-by: Robert Griesemer <gri@google.com> Reviewed-by: Ian Lance Taylor <iant@google.com> Run-TryBot: Ian Lance Taylor <iant@golang.org>
* | [dev.unified] cmd/compile/internal/noder: implicit conversions for ↵Matthew Dempsky2022-06-301-3/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | multi-valued expressions This CL changes GOEXPERIMENT=unified to insert implicit conversions for multi-valued expressions. Unfortunately, IR doesn't have strong, first-class support for multi-valued expressions, so this CL takes the approach of spilling them to temporary variables, which can then be implicitly converted. This is the same approach taken by walk, but doing it this early does introduce some minor complications: 1. For select case clauses with comma-ok assignments (e.g., `case x, ok := <-ch:`), the compiler middle end wants to see the OAS2RECV assignment is the CommClause.Comm statement. So when constructing select statements, we need to massage this around a little. 2. The extra temporary variables and assignments skew the existing inlining heuristics. As mentioned, the temporaries/assignments will eventually be added (and often optimized away again) anyway, but now they're visible to the inliner. So this CL also kludges the inlining heuristics in this case to keep things comparable. Change-Id: I3e3ea756ad92472ebe28bae3963be61ed7684a75 Reviewed-on: https://go-review.googlesource.com/c/go/+/415244 Reviewed-by: Cuong Manh Le <cuong.manhle.vn@gmail.com> Run-TryBot: Matthew Dempsky <mdempsky@google.com> Reviewed-by: David Chase <drchase@google.com> TryBot-Result: Gopher Robot <gobot@golang.org>
* | [dev.unified] test: tweak nilcheck testMatthew Dempsky2022-06-301-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A subsequent CL will change Unified IR to emit extra temporary variables for multi-value expressions, because they're sometimes necessary for handling implicit conversions. A consequence of this is that: _, ok := m[""] will be rewritten into: autotmp_1, autotmp_2 := m[""] _, ok := autotmp_1, autotmp_2 As the comment in nilcheck.go says, we don't want this code sequence to emit any nil checks, and it doesn't either way. But only the second form results in the compiler reporting "removed nil check", and I can't make sense of why. Rather than splitting this test case into separate unified and nounified variants, it seems easier to just tweak the test case to the more complex form and verify that we correctly remove the nil check still. Change-Id: I6a9266db933b201352d52da4d403a330fdeac48b Reviewed-on: https://go-review.googlesource.com/c/go/+/415242 Run-TryBot: Matthew Dempsky <mdempsky@google.com> Reviewed-by: Cuong Manh Le <cuong.manhle.vn@gmail.com> TryBot-Result: Gopher Robot <gobot@golang.org> Reviewed-by: David Chase <drchase@google.com>
* | [dev.unified] test: break escape_iface.go into unified/nounified variantsMatthew Dempsky2022-06-303-10/+50
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The assignment `sink, *(&ok) = y.(int)` should (and does) escape a value to the heap, but this detail is missed because the implicit conversion of the multi-value expression `y.(int)` isn't visible to escape analysis (because it's not inserted until desugaring during walk). For Unified IR, I plan to apply this desugaring earlier (because it's necessary for correct dictionary handling), which means we'll now (correctly) report the heap escape. Due to limitations of the $GOROOT/test harness, the easiest way to handle that GOEXPERIMENT=unified gets this right while GOEXPERIMENT=nounified does not is to split the test case into separate files. Hence this CL. Change-Id: I91f3a6c015cbc646ab018747e152cac2874cf24c Reviewed-on: https://go-review.googlesource.com/c/go/+/415241 Reviewed-by: Cuong Manh Le <cuong.manhle.vn@gmail.com> Run-TryBot: Matthew Dempsky <mdempsky@google.com> TryBot-Result: Gopher Robot <gobot@golang.org> Reviewed-by: David Chase <drchase@google.com>
* | [dev.unified] test: relax live_regabi.goMatthew Dempsky2022-06-301-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Unified IR will soon introduce additional temporary variables for multi-valued expressions, which cause this test to start failing. However, according to the comment on lines 594--596, we don't care what temporaries are printed on the noisy lines, just that they're not mentioned on the printnl lines. This CL relaxes the test expectations so that temporaries are allowed to be live at the call to fb38() too, not just the calls to fi38() and fc38(). Change-Id: Ia6c5f28ccf760fd8890a4313fb0d9f0eb9850bba Reviewed-on: https://go-review.googlesource.com/c/go/+/415240 TryBot-Result: Gopher Robot <gobot@golang.org> Run-TryBot: Matthew Dempsky <mdempsky@google.com> Reviewed-by: Cuong Manh Le <cuong.manhle.vn@gmail.com> Reviewed-by: David Chase <drchase@google.com>
* | [dev.unified] test: add regress test for generic select statementsMatthew Dempsky2022-06-293-0/+28
| | | | | | | | | | | | | | | | | | | | | | | | The Go 1.18 frontend ICEs on select case clauses that involve an implicit conversion. Change-Id: I1c0865bf97d8b0a8fbddb0da43333e909df0d38a Reviewed-on: https://go-review.googlesource.com/c/go/+/414878 TryBot-Result: Gopher Robot <gobot@golang.org> Run-TryBot: Matthew Dempsky <mdempsky@google.com> Reviewed-by: Cuong Manh Le <cuong.manhle.vn@gmail.com> Reviewed-by: David Chase <drchase@google.com>
* | [dev.unified] all: merge master (5a1c5b8) into dev.unifiedMatthew Dempsky2022-06-2411-0/+256
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: - test/run.go Textual conflict adding to the known failures list for the nounified frontend. Merge List: + 2022-06-24 5a1c5b8ae7 cmd/go: add per-package indexing for modules outside mod cache + 2022-06-24 b9c4d94fdb cmd/go/internal/list: update help info with Deprecated field + 2022-06-24 73475ef035 go/types, types2: print qualified object names in cycle errors + 2022-06-24 3e58ef6cc7 go/types, types2: better errors for == when type sets are empty + 2022-06-24 d38f1d13fa doc/go1.19: Linux race detector now requires glibc 2.17 + 2022-06-23 de5329f1de debug/dwarf: handle malformed line table with bad program offset + 2022-06-23 15605ca827 embed: document additional file name restrictions + 2022-06-22 2e773a3894 test: add test that causes gofrontend crash + 2022-06-22 ff17b7d0d4 cmd/compile: don't use dictionary convert to shaped empty interface + 2022-06-22 2a3b467d5f cmd/go: make module .zip files group/world readable + 2022-06-22 bdab4cf47a cmd/go, cmd/link: support failure to create _cgo_import.go + 2022-06-22 aca37d16a5 cmd/go: avoid indexing modules in GOROOT + 2022-06-22 111cdb5848 all: update to current golang.org/x/sys revision + 2022-06-22 4045b1bc3f cmd/compile: fix assert condition in generic method call + 2022-06-22 6bad7e8243 compress/gzip: always close bodyReader in Example_compressingReader + 2022-06-22 606c6c371a encoding/xml: check nil pointer in DecodeElement + 2022-06-22 f571518139 cmd/cgo: dont override declared struct type + 2022-06-22 92c9b81447 net: don't set netGo = true on Windows with no cgo + 2022-06-22 be0b2a393a cmd/trace: add basic documentation to main page + 2022-06-22 b004c739b5 go/types, types2: fix parameter order dependence in type inference + 2022-06-21 f2c7e78592 spec: document operations which accept []byte|string constrained types + 2022-06-21 ab422f2749 runtime/trace: ignore fallback stacks in test + 2022-06-21 66685fb7dd doc/go1.19: use correct link to sync/atomic docs + 2022-06-21 4b236b45d0 runtime: convert flaky semaphore linearity test into benchmark + 2022-06-21 530511bacc cmd/go/internal/modindex: avoid walking modules when not needed + 2022-06-21 c2d373d5d1 cmd/compile: allow 128-bit values to be spilled + 2022-06-21 19ed442807 test: add regress test for #53477 + 2022-06-20 3fcbfb07a8 doc/go1.19: fix HTML validation issues + 2022-06-18 527ace0ffa cmd/compile: skip substituting closures in unsafe builtins arguments + 2022-06-17 ec58e3f327 test: add regress test for #53419 + 2022-06-17 103cc661f1 cmd/go/internal/modfetch: prevent duplicate hashes in go.sum + 2022-06-17 d42a48828f sync: add more notes about Cond behavior + 2022-06-17 9e2f289754 cmd/go/internal/work: log clearer detail for subprocess errors in (*Builder).toolID + 2022-06-17 dd2d00f9d5 net: fix flaky *TimeoutMustNotReturn tests + 2022-06-17 6c25ba624f go/token: delete unused File.set field + 2022-06-16 9068c6844d cmd/dist: add package . to 'go test' commands + 2022-06-16 7bad61554e runtime: write much more direct test for semaphore waiter scalability + 2022-06-16 f38a580a51 cmd/go: add more tracing Change-Id: I912c5879165e03f4d7f8ac3ee9241d50fc92a419
| * go/types, types2: print qualified object names in cycle errorsRobert Griesemer2022-06-243-0/+25
| | | | | | | | | | | | | | | | | | Fixes #50788. Change-Id: Id1ed7d9c0687e3005e28598373fd5634178c78ca Reviewed-on: https://go-review.googlesource.com/c/go/+/413895 Reviewed-by: Ian Lance Taylor <iant@google.com> Reviewed-by: Robert Findley <rfindley@google.com>
| * test: add test that causes gofrontend crashIan Lance Taylor2022-06-221-0/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | For #52846 Change-Id: I763f81def97b53277396c123c524f7b8193ea35e Reviewed-on: https://go-review.googlesource.com/c/go/+/413694 Run-TryBot: Ian Lance Taylor <iant@golang.org> Auto-Submit: Ian Lance Taylor <iant@google.com> Run-TryBot: Ian Lance Taylor <iant@google.com> Reviewed-by: Cherry Mui <cherryyz@google.com> TryBot-Result: Gopher Robot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@google.com>
| * cmd/compile: don't use dictionary convert to shaped empty interfaceWayne Zuo2022-06-221-0/+19
| | | | | | | | | | | | | | | | | | | | | | | | Fixes: #53254 Change-Id: I3153d6ebb9f25957b09363f45c5cd4651ee84c2d Reviewed-on: https://go-review.googlesource.com/c/go/+/410655 Reviewed-by: Matthew Dempsky <mdempsky@google.com> Run-TryBot: Wayne Zuo <wdvxdr@golangcn.org> TryBot-Result: Gopher Robot <gobot@golang.org> Reviewed-by: Keith Randall <khr@golang.org> Reviewed-by: Keith Randall <khr@google.com>
| * cmd/compile: fix assert condition in generic method callWayne Zuo2022-06-221-0/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes #53406. Change-Id: If7ae39ec1042a792d82a0a2de96d168c22d8ab71 Reviewed-on: https://go-review.googlesource.com/c/go/+/412614 Reviewed-by: Keith Randall <khr@google.com> Reviewed-by: Cuong Manh Le <cuong.manhle.vn@gmail.com> TryBot-Result: Gopher Robot <gobot@golang.org> Reviewed-by: Alex Rakoczy <alex@golang.org> Auto-Submit: Alex Rakoczy <alex@golang.org> Reviewed-by: Keith Randall <khr@golang.org> Run-TryBot: Wayne Zuo <wdvxdr@golangcn.org>
| * cmd/compile: allow 128-bit values to be spilledKeith Randall2022-06-211-0/+89
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We sometimes use 16-byte load+store to move values around in memory. In rare circumstances, the loaded value must be spilled because the store can't happen yet. In that case, we need to be able to spill the 16-byte value. Fixes #53454 Change-Id: I09fd08e11a63c6ba3ef781d3f5ede237e9b0132e Reviewed-on: https://go-review.googlesource.com/c/go/+/413294 Reviewed-by: Keith Randall <khr@golang.org> TryBot-Result: Gopher Robot <gobot@golang.org> Reviewed-by: David Chase <drchase@google.com> Run-TryBot: Keith Randall <khr@golang.org> Reviewed-by: Keith Randall <khr@google.com>
| * test: add regress test for #53477Matthew Dempsky2022-06-212-0/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | This test already passes for GOEXPERIMENT=unified; add regress test to ensure it stays that way. Updates #53477. Change-Id: Ib7aa7428260595077052207899edcc044a6ab1c8 Reviewed-on: https://go-review.googlesource.com/c/go/+/413394 Run-TryBot: Matthew Dempsky <mdempsky@google.com> Auto-Submit: Matthew Dempsky <mdempsky@google.com> Reviewed-by: David Chase <drchase@google.com>
| * cmd/compile: skip substituting closures in unsafe builtins argumentsCuong Manh Le2022-06-181-0/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For unsafe.{Alignof,Offsetof,Sizeof}, subster will transform them them to OLITERAL nodes, and discard their arguments. However, any closure in their children nodes were already processed and added to declaration queue. Thus, we lack of information for generating instantiation for the closure. To fix it, just skip substituting the closures if we are going to edit the children nodes of unsafe builtins. Fixes #53390 Change-Id: Ia815cd05af9dc0491f10faac4399f378ac53dec6 Reviewed-on: https://go-review.googlesource.com/c/go/+/412794 Reviewed-by: Keith Randall <khr@golang.org> TryBot-Result: Gopher Robot <gobot@golang.org> Reviewed-by: Keith Randall <khr@google.com> Run-TryBot: Cuong Manh Le <cuong.manhle.vn@gmail.com> Reviewed-by: Matthew Dempsky <mdempsky@google.com>
| * test: add regress test for #53419Matthew Dempsky2022-06-172-0/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This currently works with GOEXPERIMENT=unified. Add a regress test to make sure it stays that way. Updates #53419. Change-Id: I2ea1f9039c59807fbd497d69a0420771f8d6d035 Reviewed-on: https://go-review.googlesource.com/c/go/+/413014 Run-TryBot: Matthew Dempsky <mdempsky@google.com> Auto-Submit: Matthew Dempsky <mdempsky@google.com> Reviewed-by: Robert Griesemer <gri@google.com> TryBot-Result: Gopher Robot <gobot@golang.org>
* | [dev.unified] all: merge master (635b124) into dev.unifiedMatthew Dempsky2022-06-164-171/+130
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Merge List: + 2022-06-16 635b1244aa cmd/go: pass GOEXPERIMENT through to subtests + 2022-06-16 ef808ae1d4 expvar: don't crash if map value set to nil + 2022-06-16 32510eea74 go/parser: remove unused method checkBinaryExpr + 2022-06-16 74f1fa6ecb cmd/go: parallelize matchPackages work in each module + 2022-06-16 1d9d99b7ce cmd/link: consider alignment in carrier symbol size calculation + 2022-06-16 bcce8ef498 spec: adjust incorrect sentence in section on rune literals + 2022-06-16 ecc268aa26 test: add test that gofrontend fails + 2022-06-15 b6c1606889 internal/goarch, internal/goos: update generators for syslist.go + 2022-06-15 91baf5cecc reflect: fix reference comment to runtime/map.go + 2022-06-15 0e3d0c9581 syscall: clarify Pdeathsig documentation on Linux + 2022-06-15 74bf90c779 go/types, types2: add test case for issue for coverage + 2022-06-15 0cd0c12f57 doc/go1.19: use matching closing tag in unix build constraint heading + 2022-06-15 97bfc77f38 syscall, runtime/internal/syscall: always zero the higher bits of return value on linux/loong64 + 2022-06-15 937fa5000a net/netip: add missing ) in ParsePrefix errors + 2022-06-15 c2c76c6f19 cmd/link: set alignment for carrier symbols + 2022-06-15 36147dd1e8 cmd/go/internal/modindex: disable indexing for modules outside GOROOT and the module cache + 2022-06-15 2a78e8afc0 test: add tests for string/[]byte/[]rune conversions + 2022-06-15 f9c0264107 net: avoid infinite recursion in Windows Resolver.lookupTXT + 2022-06-14 0dffda1383 spec: clarify "slice of bytes" and "slice of runes" through examples + 2022-06-14 c22a6c3b90 reflect: when StructOf overflows computing size/offset, panic + 2022-06-14 e1e66a03a6 cmd/compile,runtime,reflect: move embedded bit from offset to name + 2022-06-14 cb9bf93078 cmd/go: quote package directory when calling glob + 2022-06-14 cad477c922 cpu: fix typos in test case + 2022-06-13 c29be2d41c runtime: add HACKING section on nosplit functions + 2022-06-13 c5be77b687 doc/go1.19: minor edits + 2022-06-13 56bc3098f4 sync: improve linearity test robustness + 2022-06-13 1fe2810f9c sync: move lock linearity test and treat it like a performance test + 2022-06-13 6130461149 internal/testmath: add two-sample Welch's t-test for performance tests + 2022-06-13 24b9039149 doc/go1.19: prefer relative links to other parts of the Go website + 2022-06-13 fbc75dff2f cmd/cgo: remove -fsanitize=hwaddress hardware tags + 2022-06-13 5ee939b819 spec: clarify behavior of map size hint for make built-in + 2022-06-13 4703546a29 spec: add missing optional type arguments after TypeName in syntax + 2022-06-13 2c52465cb3 net: avoid darwin_arm64 bug in TestDialParallelSpuriousConnection + 2022-06-13 9228d7d7d5 doc/go1.19: add a release note for module indexing + 2022-06-13 7eeec1f6e4 cmd/compile: fix missing dict pass for type assertions + 2022-06-13 d27128b065 doc/go1.19: fix crypto tags + 2022-06-10 55590f3a2b net/http: doc: update RFC reference for appropriate HTTP codes + 2022-06-10 ff3db8d12d doc: fix typos in Go memory model + 2022-06-10 fb75c2da91 cmd/dist, cmd/internal/metadata: don't install metadata binary + 2022-06-10 386245b68e runtime: fix stack split at bad time when fuzzing + 2022-06-09 2cfbef4380 cmd/cgo: recognize clang 14 DWARF type names + 2022-06-09 c7ccabf3fe runtime/cgo: retry _beginthread on EACCES + 2022-06-09 91019cc13d runtime/cgo: merge bodies of cgo_sys_thread_start on windows + 2022-06-09 840e99ed74 api: promote next to go1.19 + 2022-06-09 1a2ca95ad2 go/types, types2: only set instance context if packages match + 2022-06-08 b51d44c6dd cmd/go/testdata/script: fix skip on list_replace_absolute_windows + 2022-06-08 80f86f706d api/next: minor reformat + 2022-06-08 13f6be2833 runtime: use pidleget for faketime jump + 2022-06-08 1292176bc9 cmd/go: clean paths before using them form index functions + 2022-06-08 1858ea5d85 syscall: remove unused setgroups on linux/loong64 + 2022-06-08 bdde41e3ba runtime: skip TestGdbBacktrace on gdb bug + 2022-06-08 432158b69a net: fix testHookDialTCP race + 2022-06-08 899f0a29c7 cmd/go: enable module index by default + 2022-06-08 f862280e30 cmd/go: properly call PackageModuleRoot to get modroot for index + 2022-06-08 d65166024f cmd/go: set Root and target fields for packages in GOPATH + 2022-06-08 4afb0b9e53 doc/go1.19: delete remaining TODOs + 2022-06-08 3426b7201d runtime: gofmt + 2022-06-08 f330a3a987 doc/go1.19: complete most remaining TODOs + 2022-06-08 2882786bf4 runtime: remove unused pipe and setNonblock on linux/loong64 + 2022-06-08 decdd87bea doc/go1.19: mention riscv64 supported regabi + 2022-06-07 b72a6a7b86 os: document that Chdir affects fs.FS returned by DirFS with a relative path + 2022-06-07 30b929b1ef syscall: remove unused accept on linux/loong64 + 2022-06-07 a7551fe245 net: use synthetic network in TestDialParallel + 2022-06-07 19d71acd97 doc/go1.19: document that the assembler requires -p + 2022-06-07 d151134851 doc/go1.19: document linker CL that switches DWARF compressed section format + 2022-06-07 3507805bcd go/types, types2: better error message for invalid use of constraint type + 2022-06-07 269bf7e855 go/types, types2: better error message if type is not in type set + 2022-06-07 d4fb93be87 go/types, types2: use | rather than ∪ when printing term lists + 2022-06-07 346698eea7 doc/go1.19: add release notes for net/http and net/url + 2022-06-07 7a82c6859f doc/go1.19: adjust runtime release notes + 2022-06-07 f3e051a184 runtime: document GOMEMLIMIT in environment variables section + 2022-06-07 ef2567c7dd doc/go1.19: document loong64 port + 2022-06-07 69bb7c6ef5 sync/atomic: clarify that 8-byte alignment of variables is due to escape + 2022-06-07 81033fbd8e doc/go1.19: some platforms are still on TSAN v2 + 2022-06-07 0c3a0543c2 doc/go1.19: compiler section is complete, modulo TODOs + 2022-06-07 835a946137 doc/go1.19: minor edits + 2022-06-07 429a4041eb doc/go1.19: complete TODOs for go/types + 2022-06-07 d2630aa4b2 doc/go1.19: add various crypto release notes + 2022-06-07 77d9252ddf runtime: fix inline assembly trampoline for arm64 + 2022-06-07 38607c5538 cmd/link: specify -Wl,-z params as documented + 2022-06-07 95b68e1e02 doc/go1.19: delete boringcrypto TODO + 2022-06-07 a79623b019 doc/go1.19: add more TODOs from updated relnote + 2022-06-06 acfff42802 doc/go1.19: add release notes for the soft memory limit and idle GC + 2022-06-06 a71ca3dfbd runtime, sync, sync/atomic: document happens-before guarantees + 2022-06-06 3651a6117e go/doc/comment: add heuristics for common badly formatted comments + 2022-06-06 4c08260c51 doc/go_mem: update revision date + 2022-06-06 7271a0a287 doc/go1.19: gc requires -p=importpath + 2022-06-06 c1e2ecbaf9 doc/go1.19: document Resolver.PreferGo + 2022-06-06 11195c60e6 cmd/go: use index to match packages in dependency modules + 2022-06-06 ea5d7cbc26 all: boringcrypto post-merge cleanup + 2022-06-06 6c7b223c2b go/doc/comment: do not turn ``` into “` + 2022-06-06 ce757e94e0 go/doc/comment: add doc comment + 2022-06-06 95547aee8c cmd/compile: cast riscv64 rewrite shifts to unsigned int + 2022-06-06 d43ddc1f3f strconv: fix typo in atof.go + 2022-06-06 2fa45a4fcd cmd/link/internal/loadpe: handle _main reference properly + 2022-06-06 fc97075949 go/types, types2: simplify implementation of validType (fix TODO) + 2022-06-06 07eca49055 go/types, types2: use type nest to detect type cycles (fix validType) + 2022-06-06 770146d5a8 doc/go1.19: add TODOs for changes to go/types + 2022-06-06 1b8ca75eaa runtime: fix breakpoint in ppc64x + 2022-06-06 9ce28b518d text/template/parse: fix data race on lexer initialization + 2022-06-06 47e34ca533 go/types, types2: ensure that named types never expand infinitely + 2022-06-06 02e69cfa96 go/types, types2: store Named instance information separately + 2022-06-06 1323b0e8f0 go/types, types2: eliminate methodList in favor of just using Named.mu + 2022-06-06 846f971daa go/types, types2: remove Named.once in favor of monotonic state + 2022-06-06 66cbf67345 cmd/buildid: reject rewriting legacy buildids + 2022-06-04 47f806ce81 strconv: clarify ParseFloat accepts Go syntax for float literals + 2022-06-04 2730c6af9f runtime: fix typo in libfuzzer_arm64.s + 2022-06-04 a32a592c8c database/sql/driver: fix typo in driver.go + 2022-06-04 0293c51bc5 regexp: avoid copying each instruction executed + 2022-06-04 865911424d doc: update Go memory model + 2022-06-04 fc66cae490 doc/go1.19: remove TODO about LimitedReader + 2022-06-04 f8a53df314 io: revert: add an Err field to LimitedReader + 2022-06-04 21f05284c7 cmd/go: index standard library packages Change-Id: Ia7595c77a555fd2a0e7bb3b6b2cfbb745bd4947b
| * test: add test that gofrontend failsIan Lance Taylor2022-06-161-0/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | For #52870 Change-Id: Ic0791af4283c9e426f7cbfab0514517ff84cfa80 Reviewed-on: https://go-review.googlesource.com/c/go/+/412535 Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gopher Robot <gobot@golang.org> Run-TryBot: Ian Lance Taylor <iant@google.com> Reviewed-by: Cherry Mui <cherryyz@google.com> Reviewed-by: Ian Lance Taylor <iant@google.com> Auto-Submit: Ian Lance Taylor <iant@google.com>
| * test: add tests for string/[]byte/[]rune conversionsRobert Griesemer2022-06-151-0/+61
| | | | | | | | | | | | | | | | | | | | | | | | | | Matches examples in spec section on string conversions. For #23814. Change-Id: I08099c27bfdb98735868266f5a42901321b97b56 Reviewed-on: https://go-review.googlesource.com/c/go/+/412095 TryBot-Result: Gopher Robot <gobot@golang.org> Reviewed-by: Robert Griesemer <gri@google.com> Reviewed-by: Ian Lance Taylor <iant@google.com> Run-TryBot: Robert Griesemer <gri@google.com>
| * sync: move lock linearity test and treat it like a performance testMichael Anthony Knyszek2022-06-131-171/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change moves test/locklinear.go into the sync package tests, and adds a bit of infrastructure since there are other linearity-checking tests that could benefit from it too. This infrastructure is also different than what test/locklinear.go does: instead of trying really hard to get at least one success, we instead treat this like a performance test and look for a significant difference via a t-test. This makes the methodology behind the tests more rigorous, and should reduce flakiness as transient noise should produce an insignificant result. A follow-up CL does more to make these tests even more robust. For #32986. Change-Id: I408c5f643962b70ea708930edb4ac9df1c6123ce Reviewed-on: https://go-review.googlesource.com/c/go/+/411396 Reviewed-by: Michael Pratt <mpratt@google.com>
| * cmd/compile: fix missing dict pass for type assertionsCuong Manh Le2022-06-131-0/+42
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For type assertions, if either src or dst type has shape, we must convert them to dynamic type assertions. Fixes #53309 Change-Id: Ia3362fa67c011febcbdb5b26f856d081b5c366de Reviewed-on: https://go-review.googlesource.com/c/go/+/411617 Run-TryBot: Cuong Manh Le <cuong.manhle.vn@gmail.com> TryBot-Result: Gopher Robot <gobot@golang.org> Reviewed-by: Matthew Dempsky <mdempsky@google.com> Reviewed-by: Cherry Mui <cherryyz@google.com> Reviewed-by: Keith Randall <khr@golang.org>
* | [dev.unified] test: extract different inline test between unified and ↵Cuong Manh Le2022-06-154-13/+42
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | non-unified Unified IR records the inline nodes position right at the position of the inline call, while the old inliner always records at the position of the original nodes. We want to keep non-unified working up through go 1.20, thus this CL extract the inline test case that is different in Unified IR and the old inliner. Updates #53058 Change-Id: I14b0ee99fe797d34f27cfec068982790c64ac263 Reviewed-on: https://go-review.googlesource.com/c/go/+/411935 Run-TryBot: Cuong Manh Le <cuong.manhle.vn@gmail.com> TryBot-Result: Gopher Robot <gobot@golang.org> Reviewed-by: Cherry Mui <cherryyz@google.com> Auto-Submit: Cuong Manh Le <cuong.manhle.vn@gmail.com> Reviewed-by: Matthew Dempsky <mdempsky@google.com>
* | [dev.unified] test: add regress tests for #53276 and #53328Matthew Dempsky2022-06-103-2/+148
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | These two tests fail with the 1.18 compiler frontend, because of incomplete dictionary support. This CL adds the tests for Unified IR, which currently handles them correctly, to make sure it doesn't repeat the same errors. Updates #53276. Updates #53328. Change-Id: I9f436495d28f2bc5707a17bd2527c86abacf91f1 Reviewed-on: https://go-review.googlesource.com/c/go/+/411695 Auto-Submit: Matthew Dempsky <mdempsky@google.com> Run-TryBot: Matthew Dempsky <mdempsky@google.com> TryBot-Result: Gopher Robot <gobot@golang.org> Reviewed-by: David Chase <drchase@google.com>
* | [dev.unified] test: relax issue7921.go diagnostic messageCuong Manh Le2022-06-092-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For constants literal, iimport/iexport read/write them as basic literal nodes. So they are printed in diagnostic message as Go syntax. So "foo" will be reported as string("foo"). Unified IR read/write the raw expression as string value, and when printed in diagnostic, the string value is written out exactly as-is, so "foo" will be written as "foo". Thus, this CL relax the test in issue7921.go to match the string value only. Updates #53058 Change-Id: I6fcf4fdcfc4b3be91cb53b081c48bd57186d8f35 Reviewed-on: https://go-review.googlesource.com/c/go/+/410795 Reviewed-by: Cherry Mui <cherryyz@google.com> Run-TryBot: Cuong Manh Le <cuong.manhle.vn@gmail.com> Reviewed-by: Keith Randall <khr@google.com> TryBot-Result: Gopher Robot <gobot@golang.org> Reviewed-by: Keith Randall <khr@golang.org>
* | [dev.unified] cmd/compile: set base.Pos when process assignDef in Unified IRCuong Manh Le2022-06-091-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | CL 410343 changes Unified IR to visit LHS before RHS/X in assign/for statement. Thus, it needs to set base.Pos before processing assignee expression, so invalid type can be reported with correct position. Updates #53058 Change-Id: Ic9f60cbf35c8bd71cb391e806396572c37811af7 Reviewed-on: https://go-review.googlesource.com/c/go/+/410794 Reviewed-by: Cherry Mui <cherryyz@google.com> Run-TryBot: Cuong Manh Le <cuong.manhle.vn@gmail.com> Reviewed-by: Keith Randall <khr@golang.org> Reviewed-by: Keith Randall <khr@google.com> TryBot-Result: Gopher Robot <gobot@golang.org>
* | [dev.unified] cmd/compile: fix unified IR don't report type size too large errorCuong Manh Le2022-06-091-6/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For error reported during type size calculation, base.Pos needs to be set, otherwise, the compiler will treat them as the same error and only report once. Old typechecker and irgen all set base.Pos before processing types, this CL do the same thing for unified IR. Updates #53058 Change-Id: I686984ffe4aca3e8b14d2103018c8d3c7d71fb02 Reviewed-on: https://go-review.googlesource.com/c/go/+/410345 TryBot-Result: Gopher Robot <gobot@golang.org> Run-TryBot: Cuong Manh Le <cuong.manhle.vn@gmail.com> Reviewed-by: Cherry Mui <cherryyz@google.com> Reviewed-by: Keith Randall <khr@golang.org> Reviewed-by: Keith Randall <khr@google.com>
* | [dev.unified] cmd/compile: restore Unified IR linkname pragma diagnosticCuong Manh Le2022-06-081-4/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | CL 333109 restore the diagnostic for irgen, now it's safe to restore for Unified IR, too. Updates #53058 Change-Id: I467902c0e9fa451aaa78cf0813231f14d9d7a3a0 Reviewed-on: https://go-review.googlesource.com/c/go/+/410346 Reviewed-by: Cherry Mui <cherryyz@google.com> TryBot-Result: Gopher Robot <gobot@golang.org> Run-TryBot: Cuong Manh Le <cuong.manhle.vn@gmail.com> Reviewed-by: Keith Randall <khr@golang.org> Reviewed-by: Keith Randall <khr@google.com>