Two non-conflict changes included because they're needed for all.bash:
1. Bump internal/goversion.Version to 18. This will happen eventually
anyway (dev.typeparams will not be merged back to Go 1.17), and is
needed for cmd/api to allow new API additions.
2. Add fixedbugs/issue46725.go (new test added on master) to the list
of known failures for -G=3. This test exercises a bug that was fixed
in typecheck, but -G=3 mode has duplicated that code and will need to
be fixed as well. That's outside of the scope of a merge.
Conflicts:
- src/runtime/traceback.go
Nearby lines were removed on both master and dev.typeparams.
Merge List:
+ 2021-06-14
fdab5be159 doc/go1.17: further revise OpenBSD release notes
+ 2021-06-14
326ea438bb cmd/compile: rewrite a, b = f() to use temporaries when type not identical
+ 2021-06-14
3249b645c9 cmd/compile: factor out rewrite multi-valued f()
+ 2021-06-13
14305bf0b9 misc/cgo: generate Windows import libraries for clang
+ 2021-06-13
24cff0f044 cmd/go, misc/cgo: skip test if no .edata
+ 2021-06-13
67b1b6a2e3 cmd/compile: allow ir.OSLICE2ARRPTR in mayCall
+ 2021-06-12
1ed0d129e9 runtime: testprogcgo: don't call exported Go functions directly from Go
+ 2021-06-12
9d46ee5ac4 reflect: handle stack-to-register translation in callMethod
+ 2021-06-11
e552a6d312 cmd/go: remove hint when no module is suggested
+ 2021-06-11
16b5d766d8 syscall: do not load native libraries on non-native powershell on arm
+ 2021-06-11
77aa209b38 runtime: loop on EINTR in macOS sigNoteSleep
+ 2021-06-11
e2dc6dd5c9 doc/go1.17: clean up formatting of gofmt section
+ 2021-06-11
2f1128461d cmd/go: match Windows paths in TestScript/mod_invalid_version
+ 2021-06-11
2721da2608 doc/go1.17: fix formatting near httptest
+ 2021-06-10
770f1de8c5 net/http: remove test-only private key from production binaries
+ 2021-06-10
8d11b1d117 cmd/go: report the imports of CompiledGoFiles in ImportMap
+ 2021-06-10
dc00dc6c6b crypto/tls: let HTTP/1.1 clients connect to servers with NextProtos "h2"
+ 2021-06-09
27f83723e9 api: promote next to go1.17
+ 2021-06-09
182157c81a doc/go1.17: remove lingering TODO
+ 2021-06-09
a5bc060b42 doc/go1.17: document strconv changes for Go 1.17
+ 2021-06-09
1402b27d46 strconv: document parsing of leading +/-
+ 2021-06-09
df35ade067 doc/go1.17: document //go:build lines
+ 2021-06-09
e4e7807d24 net/http: add AllowQuerySemicolons
+ 2021-06-09
ec3026d032 doc/go1.17: remove TODO for ports section
+ 2021-06-09
e6dda19888 net/url: reject query values with semicolons
+ 2021-06-09
139e935d3c math/big: comment division
+ 2021-06-09
aa5540cd82 cmd/compile: make map.zero symbol content-addressable
+ 2021-06-09
07ca28d529 cmd/link: fix bug in -strictdups checking of BSS symbols
+ 2021-06-08
bcecae2af6 doc/go1.17: mention new possibility of type conversion panicking
+ 2021-06-08
63dcab2e91 doc/go1.17: mention new vet checks sigchanyzer and stdmethods.
+ 2021-06-08
6551763a60 doc/go1.17: mention block profile bias fix
+ 2021-06-08
cb80937bf6 Revert "doc/go1.17: mention block profile bias fix"
+ 2021-06-08
d3e3d03666 net: reject leading zeros in IP address parsers
+ 2021-06-08
da4a640141 doc/go1.17: revise OpenBSD release notes
+ 2021-06-08
689f4c7415 doc/go1.17: mention block profile bias fix
+ 2021-06-08
9afe071c60 doc/go1.17: remove TODO for Tools section
+ 2021-06-08
f753d7223e doc/go1.17: resolve TODO for cmd/cover
+ 2021-06-08
9498b0155d cmd/go: in Go 1.17+ modules, add indirect go.mod dependencies separately from direct ones
+ 2021-06-08
949f00cebe doc/go1.17: add release notes for crypto packages
+ 2021-06-08
0fb3e2c184 doc/go1.17: add a release note for the '-compat' flag to 'go mod tidy'
+ 2021-06-08
2169deb352 cmd/compile: use t.AllMethods when sorting typesByString
+ 2021-06-08
c20bcb6488 runtime: remove out-of-date comments about frame skipping
+ 2021-06-07
39c39ae52f doc: document Go 1.17 language changes
+ 2021-06-07
dc8b558951 cmd/dist: pass -Wno-lto-type-mismatch in swig_callback_lto
+ 2021-06-07
909dd5e010 strconv: ParseFloat: always return ErrSyntax for bad syntax
Change-Id: Iffdf379d0275bbd12d50149ce38634773ced481d
//
// It should be updated at the start of each development cycle to be
// the version of the next Go 1.x release. See golang.org/issue/40705.
--const Version = 17
++const Version = 18
const usesLR = sys.MinFrameSize > 0
- const sizeofSkipFunction = 256
-// Traceback over the deferred function calls.
-// Report them like calls that have been invoked but not started executing yet.
-func tracebackdefers(gp *g, callback func(*stkframe, unsafe.Pointer) bool, v unsafe.Pointer) {
- var frame stkframe
- for d := gp._defer; d != nil; d = d.link {
- fn := d.fn
- if fn == nil {
- // Defer of nil function. Args don't matter.
- frame.pc = 0
- frame.fn = funcInfo{}
- frame.argp = 0
- frame.arglen = 0
- frame.argmap = nil
- } else {
- frame.pc = fn.fn
- f := findfunc(frame.pc)
- if !f.valid() {
- print("runtime: unknown pc in defer ", hex(frame.pc), "\n")
- throw("unknown pc")
- }
- frame.fn = f
- frame.argp = uintptr(deferArgs(d))
- var ok bool
- frame.arglen, frame.argmap, ok = getArgInfoFast(f, true)
- if !ok {
- frame.arglen, frame.argmap = getArgInfo(&frame, f, true, fn)
- }
- }
- frame.continpc = frame.pc
- if !callback((*stkframe)(noescape(unsafe.Pointer(&frame))), v) {
- return
- }
- }
-}
--
// Generic traceback. Handles runtime stack prints (pcbuf == nil),
// the runtime.Callers function (pcbuf != nil), as well as the garbage
// collector (callback != nil). A little clunky to merge these, but avoids
"fixedbugs/issue25958.go": true, // types2 doesn't report a follow-on error (pref: types2)
"fixedbugs/issue28079b.go": true, // types2 reports follow-on errors
"fixedbugs/issue28268.go": true, // types2 reports follow-on errors
+ "fixedbugs/issue31053.go": true, // types2 reports "unknown field" instead of "cannot refer to unexported field"
"fixedbugs/issue33460.go": true, // types2 reports alternative positions in separate error
- "fixedbugs/issue41575.go": true, // types2 reports alternative positions in separate error
"fixedbugs/issue42058a.go": true, // types2 doesn't report "channel element type too large"
"fixedbugs/issue42058b.go": true, // types2 doesn't report "channel element type too large"
++ "fixedbugs/issue46725.go": true, // fix applied to typecheck needs to be ported to irgen/transform
"fixedbugs/issue4232.go": true, // types2 reports (correct) extra errors
"fixedbugs/issue4452.go": true, // types2 reports (correct) extra errors
+ "fixedbugs/issue4510.go": true, // types2 reports different (but ok) line numbers
"fixedbugs/issue5609.go": true, // types2 needs a better error message
- "fixedbugs/issue6889.go": true, // types2 can handle this without constant overflow
- "fixedbugs/issue7525.go": true, // types2 reports init cycle error on different line - ok otherwise
"fixedbugs/issue7525b.go": true, // types2 reports init cycle error on different line - ok otherwise
"fixedbugs/issue7525c.go": true, // types2 reports init cycle error on different line - ok otherwise
"fixedbugs/issue7525d.go": true, // types2 reports init cycle error on different line - ok otherwise