- 09 Jul, 2019 2 commits
-
-
Gernot Vormayr authored
According to the documentation "When passing a pointer to a field in a struct, the Go memory in question is the memory occupied by the field, not the entire struct.". checkAddr states that this should also work with type conversions, which is implemented in isType. However, ast.StarExpr must be enclosed in ast.ParenExpr according to the go spec (see example below), which is not considered in the checks. Example: // struct Si { int i; int *p; }; void f(struct I *x) {} import "C" type S { p *int i C.struct_Si } func main() { v := &S{new(int)} C.f((*C.struct_I)(&v.i)) // <- panic } This example will cause cgo to emit a cgoCheck that checks the whole struct S instead of just S.i causing the panic "cgo argument has Go pointer to Go pointer". This patch fixes this situation by adding support for ast.ParenExpr to isType and adds a test, that fails without the fix. Fixes #32970. Change-Id: I15ea28c98f839e9fa708859ed107a2e5f1483133 Reviewed-on: https://go-review.googlesource.com/c/go/+/185098 Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
LE Manh Cuong authored
For OLSH/ORSH, the right node is not a uintptr-typed. However, unsafeValue still be called recursively for it, causing the compiler crashes. To fixing, the right node only needs to be evaluated for side-effects, so just discard its value. Fixes #32959 Change-Id: I34d5aa0823a0545f6dad1ec34774235ecf11addc Reviewed-on: https://go-review.googlesource.com/c/go/+/185039 Run-TryBot: Cuong Manh Le <cuong.manhle.vn@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: David Chase <drchase@google.com> Reviewed-by: Matthew Dempsky <mdempsky@google.com>
-
- 08 Jul, 2019 5 commits
-
-
Agniva De Sarker authored
This reverts commit https://golang.org/cl/161177/. Reason for revert: this led to non-contiguous comments spaced by an empty line to be grouped into a single CommentGroup Fixes #32944 Updates #10858 Change-Id: I5e16663b308c3b560496da8e66c33befdf9ed9dd Reviewed-on: https://go-review.googlesource.com/c/go/+/185040Reviewed-by: Robert Griesemer <gri@golang.org>
-
Alexander Rakoczy authored
Change-Id: Id5d2f4cc6bc310bed2516ce0f50c395802475f66 Reviewed-on: https://go-review.googlesource.com/c/go/+/185258Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org>
-
Alexander Rakoczy authored
Change-Id: I1b2e369befc58b3f88ac201442a2d9f76d87d54e Reviewed-on: https://go-review.googlesource.com/c/go/+/185257Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org>
-
Russ Cox authored
There were at least three races in the implementation of the pool of idle HTTP connections before this CL. The first race is that HTTP/2 connections can be shared for many requests, but each requesting goroutine would take the connection out of the pool and then immediately return it before using it; this created unnecessary, tiny little race windows during which another goroutine might dial a second connection instead of reusing the first. This CL changes the idle pool to just leave the HTTP/2 connection in the pool permanently (until there is reason to close it), instead of doing the take-it-out-put-it-back dance race. The second race is that “is there an idle connection?” and “register to wait for an idle connection” were implemented as two separate steps, in different critical sections. So a client could end up registered to wait for an idle connection and be waiting or perhaps dialing, not having noticed the idle connection sitting in the pool that arrived between the two steps. The third race is that t.getIdleConnCh assumes that the inability to send on the channel means the client doesn't need the result, when it could mean that the client has not yet entered the select. That is, the main dial does: idleConnCh := t.getIdleConnCh(cm) select { case v := <-dialc: ... case pc := <-idleConnCh ... ... } But then tryPutIdleConn does: waitingDialer := t.idleConnCh[key] // what getIdleConnCh(cm) returned select { case waitingDialer <- pconn: // We're done ... return nil default: if waitingDialer != nil { // They had populated this, but their dial won // first, so we can clean up this map entry. delete(t.idleConnCh, key) } } If the client has returned from getIdleConnCh but not yet reached the select, tryPutIdleConn will be unable to do the send, incorrectly conclude that the client does not care anymore, and put the connection in the idle pool instead, again leaving the client dialing unnecessarily while a connection sits in the idle pool. (It's also odd that the success case does not clean up the map entry, and also that the map has room for only a single waiting goroutine for a given host.) None of these races mattered too much before Go 1.11: at most they meant that connections were not reused quite as promptly as possible, or a few more than necessary would be created. But Go 1.11 added Transport.MaxConnsPerHost, which limited the number of connections created for a given host. The default is 0 (unlimited), but if a user did explicitly impose a low limit (2 is common), all these misplaced conns could easily add up to the entire limit, causing a deadlock. This was causing intermittent timeouts in TestTransportMaxConnsPerHost. The addition of the MaxConnsPerHost support added its own races. For example, here t.incHostConnCount could increment the count and return a channel ready for receiving, and then the client would not receive from it nor ever issue the decrement, because the select need not evaluate these two cases in order: select { case <-t.incHostConnCount(cmKey): // count below conn per host limit; proceed case pc := <-t.getIdleConnCh(cm): if trace != nil && trace.GotConn != nil { trace.GotConn(httptrace.GotConnInfo{Conn: pc.conn, Reused: pc.isReused()}) } return pc, nil ... } Obviously, unmatched increments are another way to get to a deadlock. TestTransportMaxConnsPerHost deadlocked approximately 100% of the time with a small random sleep added between incHostConnCount and the select: ch := t.incHostConnCount(cmKey): time.Sleep(time.Duration(rand.Intn(10))*time.Millisecond) select { case <-ch // count below conn per host limit; proceed case pc := <-t.getIdleConnCh(cm): ... } The limit also did not properly apply to HTTP/2, because of the decrement being attached to the underlying net.Conn.Close and net/http not having access to the underlying HTTP/2 conn. The alternate decrements for HTTP/2 may also have introduced spurious decrements (discussion in #29889). Perhaps those spurious decrements or other races caused the other intermittent non-deadlock failures in TestTransportMaxConnsPerHost, in which the HTTP/2 phase created too many connections (#31982). This CL replaces the buggy, racy code with new code that is hopefully neither buggy nor racy. Fixes #29889. Fixes #31982. Fixes #32336. Change-Id: I0dfac3a6fe8a6cdf5f0853722781fe2ec071ac97 Reviewed-on: https://go-review.googlesource.com/c/go/+/184262 Run-TryBot: Russ Cox <rsc@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Bryan C. Mills <bcmills@google.com>
-
Than McIntosh authored
Test case that causes incorrect compiler error from gccgo. Updates #32922 Change-Id: I59432a8e8770cf03eda293f6d110c081c18fa88b Reviewed-on: https://go-review.googlesource.com/c/go/+/184918 Run-TryBot: Than McIntosh <thanm@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org> Reviewed-by: Cherry Zhang <cherryyz@google.com>
-
- 06 Jul, 2019 1 commit
-
-
Daniel Martí authored
It wasn't obeyed in the case where the MarshalJSON method uses a pointer receiver, and the encoder grabs the address of a value to find that method. addrMarshalerEncoder is the function that does this work, but it ignored opts.escapeHTML. Here's the before and after of the added test case, which was failing before the fix. Now the two cases are correct and consistent. {"NonPtr":"<str>","Ptr":"\u003cstr\u003e"} {"NonPtr":"<str>","Ptr":"<str>"} Fixes #32896. Change-Id: Idc53077ece074973558bd3bb5ad036380db0d02c Reviewed-on: https://go-review.googlesource.com/c/go/+/184757 Run-TryBot: Daniel Martí <mvdan@mvdan.cc> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Emmanuel Odeke <emm.odeke@gmail.com> Reviewed-by: Caleb Spare <cespare@gmail.com>
-
- 05 Jul, 2019 5 commits
-
-
Austin Clements authored
cgo produces dynamic imports for Go binaries by scanning the dynamic imports table of a binary produced by the system C compiler and linker. Currently, since it uses elf.File.ImportedSymbols, it only reads global symbols. Unfortunately, recent versions of lld emit weak symbol imports for several pthread symbols, which means the cgo tool doesn't emit dynamic imports for them, which ultimately causes linking of cgo binaries to fail. Fix this by using elf.File.DynamicSymbols instead and filtering down to both global and weak symbols. Fixes #31912. Change-Id: If346a7eca6733e3bfa2cccf74a9cda02a3e81d38 Reviewed-on: https://go-review.googlesource.com/c/go/+/184100 Run-TryBot: Austin Clements <austin@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Austin Clements authored
Currently, File.ImportedSymbols is the only API that exposes the GNU symbol version information for dynamic symbols. Unfortunately, it also filters to specific types of symbols, and only returns symbol names. The cgo tool is going to need symbol version information for more symbols. In order to support this and make the API more orthogonal, this CL adds version information to the Symbol type and updates File.DynamicSymbols to fill this in. This has the downside of increasing the size of Symbol, but seems to be the most natural API for exposing this. I also explored 1) adding a method to get the version information for the i'th dynamic symbol, but we don't use symbol indexes anywhere else in the API, and it's not clear if this index would be 0-based or 1-based, and 2) adding a DynamicSymbolVersions method that returns a slice of version information that parallels the DynamicSymbols slice, but that's less efficient to implement and harder to use. For #31912. Change-Id: I69052ac3894f7af2aa9561f7085275130e0cf717 Reviewed-on: https://go-review.googlesource.com/c/go/+/184099 Run-TryBot: Austin Clements <austin@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Keith Randall authored
Update #32680 Change-Id: I0318c22c22c5cd6ab6441d1aa2d1a40d20d71242 Reviewed-on: https://go-review.googlesource.com/c/go/+/185137 Run-TryBot: Keith Randall <khr@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Emmanuel Odeke <emm.odeke@gmail.com> Reviewed-by: David Chase <drchase@google.com>
-
Mohit Agarwal authored
- fix link for `Time.Format` - fix closing tag for `go get` - add links for `runtime.Caller`, `runtime.Callers` - remove link for `TypedArrayOf` since it has been removed (CL 177537) Change-Id: I1dc38226e6d91c68fbd2f02c1acfad5327f4ebe8 Reviewed-on: https://go-review.googlesource.com/c/go/+/185038Reviewed-by: Emmanuel Odeke <emm.odeke@gmail.com>
-
Patrik Lundin authored
Running the example code when not having permissions to bind to port 80 will cause the program to hang after printing the error message. Change-Id: I2433ba2629b362fc8f1731e40cab5eea72ec354f GitHub-Last-Rev: 0bb3dc08b6f646470fc6ff208ea12bca901a2299 GitHub-Pull-Request: golang/go#32947 Reviewed-on: https://go-review.googlesource.com/c/go/+/185157Reviewed-by: Emmanuel Odeke <emm.odeke@gmail.com> Run-TryBot: Emmanuel Odeke <emm.odeke@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
- 03 Jul, 2019 6 commits
-
-
Kyle Shannon authored
Updates #22487 Change-Id: I3c933c68b5c3c5e78e3a9656ea2dcdbcbb59533f Reviewed-on: https://go-review.googlesource.com/c/go/+/184577 Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Tobias Klauser <tobias.klauser@gmail.com> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Jay Conrod authored
This should have been part of CL 184440. Updates #32846 Change-Id: I78a1326f4a67b3b526859bd15cb9653b4a8551a7 Reviewed-on: https://go-review.googlesource.com/c/go/+/184920 Run-TryBot: Jay Conrod <jayconrod@google.com> Reviewed-by: Bryan C. Mills <bcmills@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Jay Conrod authored
'go get path@latest' may now downgrade a module required at a pre-release or pseudo-version newer than the latest released version. This restores the 1.12 behavior and the ability to easily roll back from a temporary development version. 'go get path@upgrade' is like @latest but will not downgrade. If no version suffix is specified ('go get path'), @upgrade is implied. Fixes #32846 Change-Id: Ibec0628292ab1c484716a5add0950d7a7ee45f47 Reviewed-on: https://go-review.googlesource.com/c/go/+/184440 Run-TryBot: Jay Conrod <jayconrod@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Bryan C. Mills <bcmills@google.com>
-
Jay Conrod authored
The documentation just said "alphanumeric", but underscores and dots are also accepted. Fixes #32886 Change-Id: I1ba872a220d5c5bf64f1d851ddba9eb3b1afb89a Reviewed-on: https://go-review.googlesource.com/c/go/+/184917Reviewed-by: Bryan C. Mills <bcmills@google.com>
-
Cherry Zhang authored
This CL adds a test for gccgo bug #32901: not all the type descriptors are registered and thus deduplicated with types created by reflection. It needs a few levels of indirect imports to trigger this bug. Updates #32901. Change-Id: Idbd89bedd63fea746769f2687f3f31c9767e5ec0 Reviewed-on: https://go-review.googlesource.com/c/go/+/184718Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Tobias Klauser authored
Change-Id: I99e76c0c12050289be5b353595eb21fbabe7c01e Reviewed-on: https://go-review.googlesource.com/c/go/+/184597Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
- 02 Jul, 2019 3 commits
-
-
Bryan C. Mills authored
I accidentally fetched an invalid version of rsc.io/quote from proxy.golang.org, which the proxy then cached and now includes in https://proxy.golang.org/rsc.io/quote/@v/list. That causes 'go get rsc.io/quote` to resolve to a different version depending on whether the proxy is used. Adjust the test to fetch an explicit version instead, since the choice of 'latest' is mostly irrelevant to the checksum database logic that the test is intended to verify. Updates #32805 Fixes #32900 Change-Id: I075b1f62e8c71545d0fb2dd4bd77ba525fc2a36d Reviewed-on: https://go-review.googlesource.com/c/go/+/184719 Run-TryBot: Bryan C. Mills <bcmills@google.com> Reviewed-by: Hyang-Ah Hana Kim <hyangah@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Than McIntosh authored
Test case that caused a compiler crash in gofrontend, related to exporting inlinable function bodies. Updates #32778 Change-Id: Iacf1753825d5359da43e5e281189876d4c3dd3c9 Reviewed-on: https://go-review.googlesource.com/c/go/+/183851Reviewed-by: Ian Lance Taylor <iant@golang.org> Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Keith Randall authored
Taking over CL 162240, the original CL hasn't been making progress. I just took the parts that fix the immediate issue. I left the signatslice changes out, I don't think they are necessary. Fixes #30202 Change-Id: I5b347605f0841dd925d5a73150b8bf269fa82464 Reviewed-on: https://go-review.googlesource.com/c/go/+/183852 Run-TryBot: Keith Randall <khr@golang.org> Reviewed-by: David Chase <drchase@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
- 01 Jul, 2019 2 commits
-
-
Ian Lance Taylor authored
Updates #31264 Change-Id: I745744dd3fdaa432d70e8dc9336547017bac89ee Reviewed-on: https://go-review.googlesource.com/c/go/+/184377 Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Elias Naur <mail@eliasnaur.com>
-
Russ Cox authored
It's not correct to use atomic.CompareAndSwap to implement Once.Do, and we don't, but why we don't is a question that has come up twice on golang-dev in the past few months. Add a comment to help others with the same question. Change-Id: Ia89ec9715cc5442c6e7f13e57a49c6cfe664d32c Reviewed-on: https://go-review.googlesource.com/c/go/+/184261 Run-TryBot: Russ Cox <rsc@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Rob Pike <r@golang.org> Reviewed-by: Ingo Oeser <nightlyone@googlemail.com>
-
- 30 Jun, 2019 1 commit
-
-
Ian Lance Taylor authored
The implementation of semaphores, and therefore notes, used on Darwin is not async-signal-safe. The runtime has one case where a note needs to be woken up from a signal handler: the call to notewakeup in sigsend. That notewakeup call is only called on a single note, and it doesn't need the full functionality of notes: nothing ever does a timed wait on it. So change that one note to use a different implementation on Darwin, based on a pipe. This lets the wakeup code use the write call, which is async-signal-safe. Fixes #31264 Change-Id: If705072d7a961dd908ea9d639c8d12b222c64806 Reviewed-on: https://go-review.googlesource.com/c/go/+/184169 Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Russ Cox <rsc@golang.org>
-
- 29 Jun, 2019 1 commit
-
-
Russ Cox authored
The localPipe implementation assumes that every successful net.Dial results in exactly one successful listener.Accept. I don't believe this is guaranteed by essentially any operating system. For this test, we're seeing flakes on dragonfly (#29583). But see also #19519, flakes due to the same assumption on FreeBSD and macOS in package net's own tests. This CL rewrites localPipe to try a few times to get a matching pair of connections on the dial and accept side. Fixes #29583. Change-Id: Idb045b18c404eae457f091df20456c5ae879a291 Reviewed-on: https://go-review.googlesource.com/c/go/+/184157 Run-TryBot: Russ Cox <rsc@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Bryan C. Mills <bcmills@google.com>
-
- 28 Jun, 2019 3 commits
-
-
Russ Cox authored
TestVariousDeadlines starts a client and server. The client dials the server, sets a timeout on the connection, reads from it, gets a timeout error, closes the connection. The server writes an infinite stream of a's to each connection it accepts. The test was trying to run these in lockstep: run a client dial+read+timeout+close, wait for server to accept+write+error out on write to closed connection, repeat. On FreeBSD 11.2 and less frequently on macOS we see the test timeout waiting for the server to do its half of the lockstep dance. I believe the problem is that the client can do its step of the dance with such a short timeout that the read, timeout, and close happens before the server ever returns from the accept(2) system call. For the purposes of testing the client-side read timeout, this is fine. But I suspect that under some circumstances, the "TCP-accepted" connection does not translate into a "socket-layer-accepted" connection that triggers a return from accept(2). That is, the Go server never sees the connection at all. And the test sits there waiting for it to acknowledge being done with a connection it never started with. Fix the problem by not trying to lockstep with the server. This definitely fixes the flake, since the specific line that was calling t.Fatal is now deleted. This exposes a different flake, seen on a trybot run for an early version of this CL, in which the client's io.Copy does not stop within the time allotted. The problem now is that there is no guarantee that a read beyond the deadline with available data returns an error instead of the available data, yet the test assumes this guarantee, and in fact the opposite is usually true - we don't bother checking the deadline unless the read needs to block. That is, deadlines don't cut off a flood of available data, yet this test thinks they do. This CL therefore also changes the server not to send an infinite flood of data - don't send any data at all - so that the read deadline is guaranteed to be exercised. Fixes #19519. Change-Id: I58057c3ed94ac2aebab140ea597f317abae6e65e Reviewed-on: https://go-review.googlesource.com/c/go/+/184137 Run-TryBot: Russ Cox <rsc@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Bryan C. Mills <bcmills@google.com>
-
Russ Cox authored
CL 42652 changed the profile handler for mips/mipsle to avoid recording a profile when in atomic functions, for fear of interrupting the 32-bit simulation of a 64-bit atomic with a lock. The profile logger itself uses 64-bit atomics and might deadlock (#20146). The change was to accumulate a count of dropped profile events and then send the count when the next ordinary event was sent: if prof.hz != 0 { + if (GOARCH == "mips" || GOARCH == "mipsle") && lostAtomic64Count > 0 { + cpuprof.addLostAtomic64(lostAtomic64Count) + lostAtomic64Count = 0 + } cpuprof.add(gp, stk[:n]) } CL 117057 extended this behavior to include GOARCH == "arm". Unfortunately, the inserted cpuprof.addLostAtomic64 differs from the original cpuprof.add in that it neglects to acquire the lock protecting the profile buffer. This has caused a steady stream of flakes on the arm builders for the past 12 months, ever since CL 117057 landed. This CL moves the lostAtomic count into the profile buffer and then lets the existing addExtra calls take care of it, instead of duplicating the locking logic. Fixes #24991. Change-Id: Ia386c40034fcf46b31f080ce18f2420df4bb8004 Reviewed-on: https://go-review.googlesource.com/c/go/+/184164 Run-TryBot: Russ Cox <rsc@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Cherry Zhang <cherryyz@google.com>
-
Dmitri Shuralyov authored
The current cmd/doc implementation uses go/build.Import in a few places to check whether a package is findable and importable. go/build has limited support for finding packages in modules, but to do so, build.Import requires knowing the source directory to use when performing the lookup (so it can find the go.mod file). Otherwise, it only looks inside the GOPATH workspace. Start passing the current working directory to build.Import calls, so that it can correctly look for packages in modules when in cmd/doc is executed in module mode. Before this change, cmd/doc in module mode could mistakenly find and use a package in the GOPATH workspace, instead of the current module. Since the result of os.Getwd is needed in even more places, assign it to a local variable in parseArgs now. Fixes #28992 Updates #26504 Change-Id: I7571618e18420d2d3b3890cc69ade2d97b1962bf Reviewed-on: https://go-review.googlesource.com/c/go/+/183991 Run-TryBot: Dmitri Shuralyov <dmitshur@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Bryan C. Mills <bcmills@google.com>
-
- 27 Jun, 2019 7 commits
-
-
Diogo Pinela authored
When reading tip.golang.org/doc/go1.13.html, the spec links in the "Changes to the language" section should point to the updated spec, not the old one. Change-Id: I6b13ca0b4c722ed52b84a12a680bece876a4e478 Reviewed-on: https://go-review.googlesource.com/c/go/+/184118Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Robert Griesemer authored
The scanner was changed to accept the new Go number literal syntax of which separators are a part. Making them opt-in is inconsistent with the rest of the changes. For comparison, the strconv package also accepts the new number literals including separators with the various conversion routines, if no explicit number base is given. Updates #28493. Change-Id: Ifaae2225a9565364610813658bfe692901dd3ccd Reviewed-on: https://go-review.googlesource.com/c/go/+/184080 Run-TryBot: Robert Griesemer <gri@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Russ Cox <rsc@golang.org>
-
Robert Griesemer authored
Change-Id: I80dff181a79858b52ba77c3f38f77a744b423afa Reviewed-on: https://go-review.googlesource.com/c/go/+/184079Reviewed-by: Michael Matloob <matloob@golang.org>
-
Jay Conrod authored
go/build.Context.Import loads package information using 'go list' when in module mode. It does this when GO111MODULE is not "off", there is a go.mod file in any parent directory, and neither the path nor the source directory are in GOROOT. Import no longer checks whether the source directory is in GOPATH if GO111MODULE=auto or unset. Also fixed subdirectory checks that did not handle relative source directory paths. mod_gobuild_import should have failed when we changed the meaning of GO111MODULE=auto but didn't because of this. Fixes #32799 Change-Id: Ic5210b7e00cb58f91ea9455b67b49d5aed4eec63 Reviewed-on: https://go-review.googlesource.com/c/go/+/184098 Run-TryBot: Jay Conrod <jayconrod@google.com> Reviewed-by: Bryan C. Mills <bcmills@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Bryan C. Mills authored
Change-Id: Ic3e2819617375df653116d21d7361a46085250d5 Reviewed-on: https://go-review.googlesource.com/c/go/+/183986Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Damien Neil authored
This reverts commit 103b5b66. Reason for revert: Breaks valid existing programs. Updates #29458 Change-Id: I7ace4ae404cf2a8b0e15e646663c50115f74b758 Reviewed-on: https://go-review.googlesource.com/c/go/+/183939 Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Greg Thelen <gthelen@google.com> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Baokun Lee authored
Fixes #32802 Change-Id: I756ca49285130b45777bd29de440db296d9632e9 Reviewed-on: https://go-review.googlesource.com/c/go/+/184057 Run-TryBot: Baokun Lee <nototon@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org>
-
- 26 Jun, 2019 4 commits
-
-
Heschi Kreinick authored
Put the sumdb cache in the usual pkg/mod/cache/download dir, rather than the new pkg/mod/download/cache dir which I presume was a typo. Change-Id: Id162f24db30f509353178ca0c8cc7a4dabc927e1 Reviewed-on: https://go-review.googlesource.com/c/go/+/183318 Run-TryBot: Heschi Kreinick <heschi@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Bryan C. Mills <bcmills@google.com> Reviewed-by: Jay Conrod <jayconrod@google.com>
-
Bryan C. Mills authored
Change-Id: I4e9e46f03c9c43df1d0c6995f3baedd2e1a04c6a Reviewed-on: https://go-review.googlesource.com/c/go/+/183985 Run-TryBot: Bryan C. Mills <bcmills@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Jay Conrod <jayconrod@google.com>
-
Bryan C. Mills authored
Looking at the live release notes on tip.golang.org, the Modules section is much more verbose than the other sections. To some extent that's to be expected, but too much detail in the release notes might discourage folks from consulting the actual documentation. Ensure that topics have clear links and omit unnecessary details. Change-Id: I1ccbc1697fccaf7ca7094c606bd11696c46d87f0 Reviewed-on: https://go-review.googlesource.com/c/go/+/183987 Run-TryBot: Bryan C. Mills <bcmills@google.com> Reviewed-by: Jay Conrod <jayconrod@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Jay Conrod authored
Change-Id: I18e2546f89e68e77d6e829acc997851751a44f0c Reviewed-on: https://go-review.googlesource.com/c/go/+/183983 Run-TryBot: Jay Conrod <jayconrod@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Bryan C. Mills <bcmills@google.com>
-