]> Cypherpunks repositories - gostls13.git/log
gostls13.git
6 years agocmd/go: do not try to understand git fetch --depth=1 errors
Russ Cox [Fri, 10 Aug 2018 03:17:45 +0000 (23:17 -0400)]
cmd/go: do not try to understand git fetch --depth=1 errors

We used to try a git fetch --depth=1 of a specific hash and
distinguish between an error meaning
"that's not a hash I can give you directly"
(in which case we fall through and pull the whole repo)
and some other error like connection failure, bad ssh key
(in which case we give up).

We've had repeated problems trying to understand the
error meanings so just stop doing that, and fall back to
trying a full fetch on any error at all. If the error really
was some kind of network or auth or i/o problem, then
it will happen the second time and we can report it then.

Fixes #26894.

Change-Id: If1eaaddb87e8bfeff7a3894cce4ecef39802198c
Reviewed-on: https://go-review.googlesource.com/128904
Run-TryBot: Russ Cox <rsc@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Bryan C. Mills <bcmills@google.com>
6 years agocmd/go: display cached compiler output more often
Russ Cox [Fri, 10 Aug 2018 01:08:24 +0000 (21:08 -0400)]
cmd/go: display cached compiler output more often

CL 77110 arranged for caching and redisplaying compiler output
when reusing a compile artifact from the build cache.

It neglected to redisplay compiler and linker output when avoiding
the compile and link steps by reusing the target output binary
as a cached result. It also neglected to redisplay compiler and linker
output when avoiding the compile and link (and test) steps by reusing
cached test output.

This CL brings back the compiler and linker output in those two cases,
provided it can be found in the build cache. If it can't be found in the
build cache, then the go command still reuses the binaries and avoids
the compile/link/test steps. (It's not worth doing all that work again
just to repeat diagnostic output.)

Fixes #23877.

Change-Id: I25bc054d93a88c039bcb8c5683fe4ac5cb1ee544
Reviewed-on: https://go-review.googlesource.com/128903
Run-TryBot: Russ Cox <rsc@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Bryan C. Mills <bcmills@google.com>
6 years agocmd/go: fix spelling in proxy documentation
Tobias Klauser [Fri, 10 Aug 2018 06:51:54 +0000 (08:51 +0200)]
cmd/go: fix spelling in proxy documentation

After running mkalldocs.sh this also adds some previously missing parts
to alldocs.go

Change-Id: Ifa624c54543fd31d699a0d4bb5df7b1969bf941c
Reviewed-on: https://go-review.googlesource.com/128915
Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Bryan C. Mills <bcmills@google.com>
6 years agocmd/go: fix handling of gopkg.in/macaroon-bakery.v2-unstable
Russ Cox [Thu, 9 Aug 2018 21:03:05 +0000 (17:03 -0400)]
cmd/go: fix handling of gopkg.in/macaroon-bakery.v2-unstable

When we added v2.0.0+incompatible we generalized the API
enough to make it easy to also accepting these gopkg-specific
v2-unstable suffixes. Do that.

Fixes #23989.

Change-Id: Ieabed11a5250c2999d73450c10b20f4c645ad445
Reviewed-on: https://go-review.googlesource.com/128901
Reviewed-by: Bryan C. Mills <bcmills@google.com>
6 years agocmd/go: fix install target name for versioned binaries
Russ Cox [Thu, 9 Aug 2018 20:36:48 +0000 (16:36 -0400)]
cmd/go: fix install target name for versioned binaries

For a package in the module root, using the containing directory name
might mean the directory in the module cache, in which case the
executable has a final @v1.2.3 in it, which is no good. Fix that.

While we're here, change go install example.com/cmd/foo/v2 to
install foo instead of the less useful "v2".

Fixes #24667.
Fixes #26869.

Change-Id: Ie40ca1bc9e27955441f1cdb7abd3a1f69034c9f5
Reviewed-on: https://go-review.googlesource.com/128900
Reviewed-by: Bryan C. Mills <bcmills@google.com>
6 years agocmd/go: fix go.mod corruption using -mod=vendor
Russ Cox [Thu, 9 Aug 2018 20:16:43 +0000 (16:16 -0400)]
cmd/go: fix go.mod corruption using -mod=vendor

If we're using -mod=vendor then we effectively load
a fake build list from vendor/modules.txt.
Do not write it back to go.mod.

Fixes #26704.

Change-Id: Ie79f2103dc16d0b7fe0c884e77ba726c7e04f2e4
Reviewed-on: https://go-review.googlesource.com/128899
Reviewed-by: Bryan C. Mills <bcmills@google.com>
6 years agocmd/go: add go mod why
Russ Cox [Tue, 7 Aug 2018 19:52:04 +0000 (15:52 -0400)]
cmd/go: add go mod why

A very common question is
"why is this package or module being kept
by go mod vendor or go mod tidy?"

go mod why answers that question.

Fixes #26620.

Change-Id: Iac3b6bbdf703b4784f5eed8e0f69d41325bc6d7f
Reviewed-on: https://go-review.googlesource.com/128359
Reviewed-by: Bryan C. Mills <bcmills@google.com>
6 years agocmd/go: fix module loader and test-only dependencies
Russ Cox [Tue, 7 Aug 2018 19:50:24 +0000 (15:50 -0400)]
cmd/go: fix module loader and test-only dependencies

go list all was not behaving as documented - it did not pick up
test dependencies except when running in "go test" and "go vet".
It should pick them up always.

Also the module loader was ignoring tests when using "go list -test",
which led to load failures.

Fixing all required adjustments to mod_patterns test.
Removed error-prone exact listings.

Fixes #26279.
Fixes #26906.

Change-Id: I9c5acaf2275be20fd2349859589502190d3e7a78
Reviewed-on: https://go-review.googlesource.com/128358
Reviewed-by: Bryan C. Mills <bcmills@google.com>
6 years agocmd/go: make 'go list -test' report the correct import path
Suzy Mueller [Thu, 9 Aug 2018 17:05:54 +0000 (13:05 -0400)]
cmd/go: make 'go list -test' report the correct import path

When a test variant of a package is created, the two versions cannot
share memory for the fields that contain information about their
imports, as these will be different between the two packagse.

Both the Internal.Imports and the Imports fields must be able to be
updated in the test variant without affecting the values of the
original.

Fixes golang/go#26880

Change-Id: Id61fad7d976e179c6c7711a394ce43ec8302fd7a
Reviewed-on: https://go-review.googlesource.com/128836
Reviewed-by: Russ Cox <rsc@golang.org>
6 years agocmd/go: add go mod download
Russ Cox [Tue, 7 Aug 2018 16:01:36 +0000 (12:01 -0400)]
cmd/go: add go mod download

go mod download provides a way to force downloading
of a particular module version into the download cache
and also to locate its cached files.

Forcing downloads is useful for warming caches, such as
in base docker images.

Finding the cached files allows caching proxies to use
go mod download as the way to obtain module files
on cache miss.

Fixes #26577.
Fixes #26610.

Change-Id: Ib8065bcce07c9f5105868ec1d87887ef4871f07e
Reviewed-on: https://go-review.googlesource.com/128355
Run-TryBot: Russ Cox <rsc@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Bryan C. Mills <bcmills@google.com>
6 years agodoc/go1.11: add note about vet checks for printf wrappers
Andrew Bonventre [Thu, 9 Aug 2018 23:43:54 +0000 (19:43 -0400)]
doc/go1.11: add note about vet checks for printf wrappers

Fixes golang/go#26372

Change-Id: I30716ba56f829c6e36ccd50471e118084bad7360
Reviewed-on: https://go-review.googlesource.com/128902
Reviewed-by: Russ Cox <rsc@golang.org>
6 years agoruntime: fix TestGdbPythonCgo failure with ld.gold
Daniel Martí [Thu, 9 Aug 2018 16:25:13 +0000 (17:25 +0100)]
runtime: fix TestGdbPythonCgo failure with ld.gold

See the added comment for the reasoning behind the workaround.

Fixes #26868.

Change-Id: Idede020ec88a49595dc233d9a1346b12691186f4
Reviewed-on: https://go-review.googlesource.com/128815
Run-TryBot: Daniel Martí <mvdan@mvdan.cc>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
6 years agocmd/compile: update delve's reference data for ssa/debug_test
David Chase [Wed, 18 Jul 2018 20:18:28 +0000 (16:18 -0400)]
cmd/compile: update delve's reference data for ssa/debug_test

Recent versions of Delve pay attention to the debugging changes
for 1.11, which causes different (better!) debugging behavior.
Update the reference data to reflect this.

Change-Id: I2efa165aa71769ace9f7885b4ce3420cd9b2d3a3
Reviewed-on: https://go-review.googlesource.com/128697
Run-TryBot: David Chase <drchase@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
6 years agocmd/go: include experiments in compiler tool ID
Ian Lance Taylor [Wed, 8 Aug 2018 23:54:15 +0000 (16:54 -0700)]
cmd/go: include experiments in compiler tool ID

No test because testing this would require building a new toolchain
with a different experiment.

Fixes #26883

Change-Id: Iadd513d0920ef12463006dd2a61e94370dd13f68
Reviewed-on: https://go-review.googlesource.com/128735
Run-TryBot: Ian Lance Taylor <iant@golang.org>
Reviewed-by: Joe Tsai <thebrokentoaster@gmail.com>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Reviewed-by: Bryan C. Mills <bcmills@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>

6 years agocmd/go: skip TestScript/mod_patterns on nocgo builders
Bryan C. Mills [Thu, 9 Aug 2018 21:38:32 +0000 (17:38 -0400)]
cmd/go: skip TestScript/mod_patterns on nocgo builders

Updates #26906.

Change-Id: I61b08180aefe9cfc109a1009ca251ee6970eb2df
Reviewed-on: https://go-review.googlesource.com/128879
Run-TryBot: Bryan C. Mills <bcmills@google.com>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
6 years agocmd/go/internal/modload: emit correct module in duplication error
Bryan C. Mills [Thu, 9 Aug 2018 20:14:27 +0000 (16:14 -0400)]
cmd/go/internal/modload: emit correct module in duplication error

Updates #26904.

Change-Id: If7f381c3f3a41bd62c5f8bcf4f92720badcaf5c6
Reviewed-on: https://go-review.googlesource.com/128878
Reviewed-by: Russ Cox <rsc@golang.org>
6 years agocmd/go: test package patterns with multiple modules
Bryan C. Mills [Wed, 8 Aug 2018 18:44:44 +0000 (14:44 -0400)]
cmd/go: test package patterns with multiple modules

This change replaces https://golang.org/cl/125835.

Updates #26317.

Change-Id: I38ae1f93e5f5c86737a4b489df498c18b179781d
Reviewed-on: https://go-review.googlesource.com/128637
Reviewed-by: Russ Cox <rsc@golang.org>
6 years agocmd/go/internal: factor out modload.QueryPackage and use in in modget
Bryan C. Mills [Mon, 6 Aug 2018 20:59:31 +0000 (16:59 -0400)]
cmd/go/internal: factor out modload.QueryPackage and use in in modget

modload.Import contains a loop that looks for the module containing a package.
Because we overload Import to locate both packages and modules, that loop
contains a bunch of special-cases for modules with empty roots.

In this change, we factor out the loop into a new function (QueryPackage) and
use that directly in modget.getQuery. That restores the invariant that
the paths passed to modload.Import must be importable packages, and fixes 'go
get' lookups for packages that have moved between a module and submodules with
the same path prefix.

Updates #26602.

Change-Id: I8bc8340c17f2df062d03ce720f4dc18b2ba406b2
Reviewed-on: https://go-review.googlesource.com/128136
Reviewed-by: Russ Cox <rsc@golang.org>
6 years agocmd/go/internal/modload: report errors explicitly from Lookup
Bryan C. Mills [Mon, 6 Aug 2018 21:25:10 +0000 (17:25 -0400)]
cmd/go/internal/modload: report errors explicitly from Lookup

Previously, we reported errors directly in (*loader).load via base.Errorf.
Unfortunately, (*loader).load can be called from contexts in which such errors
should not be considered fatal, such as by load.PackagesAndErrors.

Instead, we save the errors in pkg.err and modify Lookup to return that error.

This change is a bit awkward: we end up suppressing a "no Go files" error for
packages at the root of newly-imported modules, even if they really do contain
source files. I believe that that's due to a special-case lookup for modules in
the build list, which allows us to "validate" imports for modules in the build
list even though we haven't actually downloaded their sources (or verified that
they actually contain the requested package). The fix for that issue is in the
change that follows this one.

Fixes #26602.

Change-Id: I16f00ceb143fbb797cfc3cb07fd08aeb6154575b
Reviewed-on: https://go-review.googlesource.com/127936
Run-TryBot: Bryan C. Mills <bcmills@google.com>
Reviewed-by: Russ Cox <rsc@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>

6 years agogo/types: fix errors in recording type information
Rebecca Stambler [Thu, 9 Aug 2018 16:34:19 +0000 (12:34 -0400)]
go/types: fix errors in recording type information

In my previous change, I didn't use the correct functions for continuing
to record type informations after errors. Change to using the correct
functions, and add a comment to clarify in expr.go.

Updates #22467

Change-Id: I66ebb636ceb2b994db652343430f0551db0050c3
Reviewed-on: https://go-review.googlesource.com/128835
Run-TryBot: Robert Griesemer <gri@golang.org>
Reviewed-by: Robert Griesemer <gri@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>

6 years agocmd/go: test that 'go get pkg@version' installs pkg
Bryan C. Mills [Mon, 6 Aug 2018 22:06:06 +0000 (18:06 -0400)]
cmd/go: test that 'go get pkg@version' installs pkg

This test passes, but it encodes several behaviors that I think are bugs.
I suggest that we check it in as-is, and we can update it as the bugs are fixed.

Change-Id: Icb073de9cb13036dbccadb4ff2cb3169ffb56236
Reviewed-on: https://go-review.googlesource.com/128137
Run-TryBot: Bryan C. Mills <bcmills@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Russ Cox <rsc@golang.org>
6 years agocmd/go: add test for 'go get' within a local module
Bryan C. Mills [Wed, 8 Aug 2018 14:38:19 +0000 (10:38 -0400)]
cmd/go: add test for 'go get' within a local module

Change-Id: I16d36c8e22c84a3266520d86e41ff71ef826ae70
Reviewed-on: https://go-review.googlesource.com/128555
Run-TryBot: Bryan C. Mills <bcmills@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Russ Cox <rsc@golang.org>
6 years agocmd/go: add test cases for 'go list' with bad import paths
Bryan C. Mills [Mon, 6 Aug 2018 18:55:12 +0000 (14:55 -0400)]
cmd/go: add test cases for 'go list' with bad import paths

Change-Id: I45a675c5f699b23284a2a50b33cb22882f4b3b80
Reviewed-on: https://go-review.googlesource.com/128016
Reviewed-by: Russ Cox <rsc@golang.org>
6 years agocmd/go: fetch history as needed to resolve recent tags
Bryan C. Mills [Tue, 31 Jul 2018 22:32:25 +0000 (18:32 -0400)]
cmd/go: fetch history as needed to resolve recent tags

Fixes #26713.

Tested with Git 2.7.4. Older Gits may or may not work.

Change-Id: Ib72d751388dfbb50030191ae40f788d1402834b2
Reviewed-on: https://go-review.googlesource.com/126956
Reviewed-by: Russ Cox <rsc@golang.org>
6 years agogo/printer: make empty lines break table alignment
Daniel Martí [Fri, 20 Jul 2018 20:55:07 +0000 (21:55 +0100)]
go/printer: make empty lines break table alignment

In previous versions of Go including 1.10, an empty line would break the
alignment of elements within an expression list.

golang.org/cl/104755 changed the heuristic, with the side effect that
empty lines no longer broke the table alignment.

Reintroduce the behavior and add a regression test for it.

Fixes #26352.

Change-Id: I410bcff4cba25c7f8497d46bd7890a2c7ee11d46
Reviewed-on: https://go-review.googlesource.com/125260
Run-TryBot: Daniel Martí <mvdan@mvdan.cc>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Robert Griesemer <gri@golang.org>
6 years agoA+C: first round of automated updates for Go 1.11 and missing AUTHORS
Filippo Valsorda [Thu, 26 Jul 2018 21:18:39 +0000 (17:18 -0400)]
A+C: first round of automated updates for Go 1.11 and missing AUTHORS

One first round of low-hanging fruit, excluding anything unclear.

Also fixed a bug where, if a contributor had different emails under
different CLAs, only the first one was added to AUTHORS.

Updates #12042

Change-Id: Id7b06c885d74b4718ef2d74d149513a7c0f40c91
Reviewed-on: https://go-review.googlesource.com/126215
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
6 years agodoc.Example should not worry about unresolved blank identifiers
Mostyn Bramley-Moore [Wed, 8 Aug 2018 21:34:43 +0000 (21:34 +0000)]
doc.Example should not worry about unresolved blank identifiers

https://golang.org/pkg/bufio/#example_Scanner_custom is not directly
runnable in the playground via godoc, but if I copy+paste the code into
https://play.golang.org/ then it runs just fine.

This seems to be due to the blank identifier being considered unresolved
in the following line in the example:

_, err = strconv.ParseInt(string(token), 10, 32)

But that's the whole point of blank identifiers- they're not supposed
to be resolved.  So let's skip adding the blank identifier to
doc.playExample's unresolved map.

Fixes #26447

Change-Id: I52bc7d99be1d14a61dc012d10c18349d52ba4c51
GitHub-Last-Rev: 9172e9dc1378b0f37f96fc2e1ade4dda9d848398
GitHub-Pull-Request: golang/go#26448
Reviewed-on: https://go-review.googlesource.com/124775
Reviewed-by: Robert Griesemer <gri@golang.org>
6 years agodoc/contribute: add examples for finding issues on the issue tracker
Leigh McCulloch [Sat, 4 Aug 2018 06:40:45 +0000 (06:40 +0000)]
doc/contribute: add examples for finding issues on the issue tracker

For contributors looking for new issues to contribute to it can be
difficult to find issues that need a fix and don't already have a fix
being considered. There are several labels that help guide the way
already, like `NeedsFix`, `HelpWanted`. But many issues with this label
will already have a CL. For new contributors this can be especially
difficult.

Fixes #26494

Change-Id: Ifd38ea65e362b4c580207a06f959646e49ac594f
GitHub-Last-Rev: 6d2b54447b2ee754a6d025f5de3ebd8326e035eb
GitHub-Pull-Request: golang/go#26516
Reviewed-on: https://go-review.googlesource.com/125355
Reviewed-by: Andrew Bonventre <andybons@golang.org>
Run-TryBot: Andrew Bonventre <andybons@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>

6 years agogo/types: if base type for an alias is known, use it when needed
Robert Griesemer [Wed, 8 Aug 2018 00:53:59 +0000 (17:53 -0700)]
go/types: if base type for an alias is known, use it when needed

Because methods are type-checked before the receiver base type
is "complete" (i.e., they are checked as part of the receiver
base type), situations occur where aliases of those base types
are used (in those methods) but the alias types are not known
yet (even though their base types are known).

This fix is a temporary work-around that looks syntactically
for the base types of alias types and uses those base types
when we refer to an "incomplete" alias type. The work-around
is completely localized and guarded with a flag so it can be
disabled at short notice.

The correct fix (slated for 1.12) is to decouple type-checking
of methods from their receiver base types. See issue #26854.

Fixes #26390.

Change-Id: I66cc9d834b220c254ac00e671a137cf8a3da59c1
Reviewed-on: https://go-review.googlesource.com/128435
Reviewed-by: Ian Lance Taylor <iant@golang.org>
Reviewed-by: Alan Donovan <adonovan@google.com>
6 years agoA+C: update Dmitri Shuralyov's emails
Dmitri Shuralyov [Wed, 8 Aug 2018 03:11:56 +0000 (23:11 -0400)]
A+C: update Dmitri Shuralyov's emails

Add my current personal email in both A+C, but keep old one too.
Add my @golang.org email to CONTRIBUTORS.

Change-Id: Idba258e465a8d657372dbeb6cb734744d493e5d4
Reviewed-on: https://go-review.googlesource.com/128416
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
6 years agonet: reduce TestSplice/big's memory usage
Daniel Martí [Wed, 8 Aug 2018 12:53:10 +0000 (13:53 +0100)]
net: reduce TestSplice/big's memory usage

The old code used splice on a 2GB []byte when not in short mode, meaning
that running 'go test net' when one had 4GB or less free memory would
easily result in "out of memory" runtime panics.

Instead, use a much smaller size that is still big enough to not fit
into a single splice(2) syscall. The new size is just 5MB, so the test
uses a fraction of the memory it used to, and there's no longer a need
for a different size on short mode.

This also speeds up the test, which goes from ~1.23s to ~0.01s on my
laptop.

Fixes #26867.

Change-Id: Iae1daa5c0995b549f41992f44339be32ca1ee5e4
Reviewed-on: https://go-review.googlesource.com/128535
Run-TryBot: Daniel Martí <mvdan@mvdan.cc>
Reviewed-by: Andrei Tudor Călin <mail@acln.ro>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>

6 years agocmd/go: 3 cmd/go tests (>8s) made as non-short scripts
Gn Shivakumar [Sun, 29 Jul 2018 17:56:52 +0000 (23:26 +0530)]
cmd/go: 3 cmd/go tests (>8s) made as non-short scripts

* TestAtomicCoverpkgAll -> Script/cover_atomic_pkgall.txt and make it
* non-short
* TestCoverpkgAllRuntime -> Script/cover_pkgall_runtime.txt and make it
* non-short
* TestCpuprofileTwice -> Script/cpu_profile_twice.txt and make it
* non-short
* TestGoTestMainTwice -> make it non-short

Updates #26472

Change-Id: I24f3d4c2a8b6e317adb369a1b1426e693f9571ed
Reviewed-on: https://go-review.googlesource.com/126636
Reviewed-by: Bryan C. Mills <bcmills@google.com>
Run-TryBot: Bryan C. Mills <bcmills@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>

6 years agocmd/go: make 'go get <module>@none' idempotent
Bryan C. Mills [Wed, 1 Aug 2018 17:22:02 +0000 (13:22 -0400)]
cmd/go: make 'go get <module>@none' idempotent

Before this change, 'go get <module>@none' for a module not in the build list
would add the module to go.mod (with the explicit version string "none").
Subsequent go commands would fail with 'invalid module version "none"'.

Change-Id: Iebcaeab89eb19959f0a9aeda836f179962953313
Reviewed-on: https://go-review.googlesource.com/127215
Reviewed-by: Russ Cox <rsc@golang.org>
6 years agocmd/go/internal/load: remove unused argument from Lookup
Bryan C. Mills [Mon, 6 Aug 2018 17:59:30 +0000 (13:59 -0400)]
cmd/go/internal/load: remove unused argument from Lookup

Change-Id: Ia2948a88c6d45a31be17b3d7415559cd53c289ce
Reviewed-on: https://go-review.googlesource.com/128015
Reviewed-by: Russ Cox <rsc@golang.org>
6 years agocmd/go/internal/load: pass the importer's package path when checking visibility
Bryan C. Mills [Fri, 3 Aug 2018 17:43:17 +0000 (13:43 -0400)]
cmd/go/internal/load: pass the importer's package path when checking visibility

A module like "gopkg.in/macaroon.v2" might have a test with a "_test" package
suffix (see https://golang.org/cmd/go/#hdr-Test_packages).
When we compile that test, its ImportStack entry includes the "_test" suffix
even though nothing else can actually import it via that path.
When we look up the module containing such a package, we must use the original
path, not the suffixed one.

On the other hand, an actual importable package may also be named with the
suffix "_test", so we need to be careful not to strip the suffix if it is
legitimately part of the path. We cannot distinguish that case by examining
srcDir or the ImportStack: the srcDir contaning a module doesn't necessarily
bear any relationship to its import path, and the ImportStack doesn't tell us
whether the suffix is part of the original path.

Fortunately, LoadImport usually has more information that we can use: it
receives a parent *Package that includes the original import path.

Fixes #26722

Change-Id: I1f7a4b37dbcb70e46af1caf9a496dfdd59ae8b17
Reviewed-on: https://go-review.googlesource.com/127796
Reviewed-by: Russ Cox <rsc@golang.org>
6 years agocmd/go: fix outdated comments
Bryan C. Mills [Mon, 6 Aug 2018 19:42:26 +0000 (15:42 -0400)]
cmd/go: fix outdated comments

Change-Id: I09532546c96b3758f76528fb5010dafc638139b8
Reviewed-on: https://go-review.googlesource.com/128135
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
6 years agosyscall/js: extend ValueOf to support arrays and objects
Richard Musiol [Tue, 31 Jul 2018 13:12:57 +0000 (15:12 +0200)]
syscall/js: extend ValueOf to support arrays and objects

This commits adds []interface{} and map[string]interface{} as quick
ways to create JavaScript arrays and objects. They correspond to the
JavaScript notations [...] and {...}. A type alias can be used for
a concise notation.

Change-Id: I98bb08dbef1e0f3bd3d65c732d6b09e1520026ba
Reviewed-on: https://go-review.googlesource.com/126855
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
6 years agocmd/asm/internal/arch: add package definition
Mario Arranz [Mon, 6 Aug 2018 18:50:41 +0000 (18:50 +0000)]
cmd/asm/internal/arch: add package definition

The package arch didn't have a definition as you can see in https://tip.golang.org/pkg/cmd/asm/internal/arch/

Change-Id: I07653b396393a75c445d04dbae5e22e90a0d5133
GitHub-Last-Rev: a859e9410f38073853687b933f53eb6570af3216
GitHub-Pull-Request: golang/go#26817
Reviewed-on: https://go-review.googlesource.com/127929
Run-TryBot: Ian Lance Taylor <iant@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
6 years agodoc: describe cgo ptr->uintptr changes for 1.11.
Keith Randall [Mon, 6 Aug 2018 17:17:52 +0000 (10:17 -0700)]
doc: describe cgo ptr->uintptr changes for 1.11.

Fixes #26721

Change-Id: Icc4660327a9ba668c88f8d9e0b9f206ba8f6dc27
Reviewed-on: https://go-review.googlesource.com/127975
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
6 years agocmd/go: fix go get fail when GIT_TRACE set
LE Manh Cuong [Mon, 30 Jul 2018 18:11:32 +0000 (01:11 +0700)]
cmd/go: fix go get fail when GIT_TRACE set

GIT_TRACE write message to stderr, while run1 merge both stdout and
stderr. So function which call run1 and rely on its output will failed
to parse the result when run1 success.

By using cmd.Output(), we ensure only cmd standard out is returned.

Fixes #19682

Change-Id: I7002df17fe68aea1860ddc7382c68cc23548bd90
Reviewed-on: https://go-review.googlesource.com/126735
Reviewed-by: Bryan C. Mills <bcmills@google.com>
Run-TryBot: Bryan C. Mills <bcmills@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>

6 years agocmd/go: fix unnecessary plural
Kevin Burke [Wed, 1 Aug 2018 04:43:07 +0000 (21:43 -0700)]
cmd/go: fix unnecessary plural

"expanded imports paths" should read "expanded import paths." Run
mkalldocs.sh to pick up other changes which were not committed to
alldocs.go.

Change-Id: Iaa61e022d65f9464e8ff93a92cfba27dadf679cf
Reviewed-on: https://go-review.googlesource.com/127157
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
6 years agocmd/internal/objfile: only consider executable segments for load address
Ian Lance Taylor [Fri, 3 Aug 2018 21:52:54 +0000 (14:52 -0700)]
cmd/internal/objfile: only consider executable segments for load address

Reportedly on some new Fedora systems the linker is producing extra
load segments, basically making the dynamic section non-executable.
We were assuming that the first load segment could be used to
determine the program's load offset, but that is no longer true.
Use the first executable load segment instead.

Fixes #26369

Change-Id: I5ee31ddeef2e8caeed3112edc5149065a6448456
Reviewed-on: https://go-review.googlesource.com/127895
Run-TryBot: Ian Lance Taylor <iant@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
6 years agoos: document that Remove removes only empty directories
Ian Lance Taylor [Fri, 3 Aug 2018 16:55:44 +0000 (09:55 -0700)]
os: document that Remove removes only empty directories

Fixes #26507

Change-Id: I967e4f897ca891c70ca8bb0e66b984530c240815
Reviewed-on: https://go-review.googlesource.com/127835
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Reviewed-by: Rob Pike <r@golang.org>
6 years agomath/rand: improve package documentation
Benjamin Cable [Thu, 2 Aug 2018 13:54:16 +0000 (14:54 +0100)]
math/rand: improve package documentation

Notify readers that interval notation is used.
Fixes: #26765
Change-Id: Id02a7fcffbf41699e85631badeee083f5d4b2201
Reviewed-on: https://go-review.googlesource.com/127549
Reviewed-by: Rob Pike <r@golang.org>
6 years agocmd/go: don't crash in go fmt on invalid input when using modules
Ian Lance Taylor [Fri, 3 Aug 2018 18:27:32 +0000 (11:27 -0700)]
cmd/go: don't crash in go fmt on invalid input when using modules

Fixes #26792

Change-Id: I9a878180af28e3939b654fd88bed150010dffde0
Reviewed-on: https://go-review.googlesource.com/127856
Run-TryBot: Ian Lance Taylor <iant@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Reviewed-by: Bryan C. Mills <bcmills@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>

6 years agoruntime: document assumption about wbBufFlush argument slots
Austin Clements [Fri, 3 Aug 2018 15:34:11 +0000 (11:34 -0400)]
runtime: document assumption about wbBufFlush argument slots

gcWriteBarrier and wbBufFlush assume that not writing to an argument
variable is sufficient to not clobber the corresponding argument slot.
This assumption lets us simplify the write barrier assembly code,
speed up the flush path, and reduce the stack usage of the write
barrier.

But it is an assumption, so this CL documents it to make this clear.

Alternatively, we could separate the register spill slots from the
argument slots in the write barrier, but that loses the advantages
above. On the other hand, it's extremely unlikely that we'll change
the behavior of the compiler to start clobbering argument slots (if
anything, we'd probably change it to *not* clobber argument slots even
if you wrote to the arguments).

Fixes #25512.

Change-Id: Ib2cf29c0d90956ca02b997ef6e7fa56fc8044efe
Reviewed-on: https://go-review.googlesource.com/127815
Reviewed-by: Cherry Zhang <cherryyz@google.com>
6 years agonet: skip flaky TestNotTemporaryRead on FreeBSD go1.11beta3
Brad Fitzpatrick [Fri, 3 Aug 2018 16:58:07 +0000 (16:58 +0000)]
net: skip flaky TestNotTemporaryRead on FreeBSD

Updates #25289

Change-Id: I662760b921be625aca988cd0b43c648ac5dfd814
Reviewed-on: https://go-review.googlesource.com/127837
Reviewed-by: Bryan C. Mills <bcmills@google.com>
Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>

6 years agocmd/internal/obj/arm64: fix incorrect rejection of legal instructions
Ben Shi [Wed, 1 Aug 2018 06:38:54 +0000 (06:38 +0000)]
cmd/internal/obj/arm64: fix incorrect rejection of legal instructions

"BFI $0, R1, $7, R2" is expected to copy bit 0~6 from R1 to R2, and
left R2's other bits unchanged.

But the assembler rejects it with error "illegal bit number", and
BFIW/SBFIZ/SBFIZW/UBFIZ/UBFIZW have the same problem.

This CL fixes that issue and adds corresponding test cases.

fixes #26736

Change-Id: Ie0090a0faa38a49dd9b096a0f435987849800b76
Reviewed-on: https://go-review.googlesource.com/127159
Run-TryBot: Ben Shi <powerman1st@163.com>
Reviewed-by: Cherry Zhang <cherryyz@google.com>
6 years agocmd/go/internal/load: trim the " (test)" suffix from ImportStack paths
Bryan C. Mills [Fri, 3 Aug 2018 14:38:22 +0000 (10:38 -0400)]
cmd/go/internal/load: trim the " (test)" suffix from ImportStack paths

We were passing untrimmed paths to ModPackageModuleInfo, which was then failing
the build because it was asked to resolve an invalid path.

Fixes #26722

Change-Id: I043cc9c26f2188c5e005c0353620d9c55b339df9
Reviewed-on: https://go-review.googlesource.com/127795
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
6 years agocmd/go: disable ccache when setting HOME to non-existent dir
Mark Pulford [Fri, 3 Aug 2018 14:19:21 +0000 (00:19 +1000)]
cmd/go: disable ccache when setting HOME to non-existent dir

This fixes tests on systems where ccache is the default compiler.

Also simplify a prior workaround for this fault.

Fixed #26789

Change-Id: I031ff0b65ace7fc5e284393298e004aa2ad3b6f5
Reviewed-on: https://go-review.googlesource.com/127775
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>

6 years agonet: update docs for unimplemented methods and functions
Mikio Hara [Fri, 3 Aug 2018 08:44:00 +0000 (17:44 +0900)]
net: update docs for unimplemented methods and functions

Change-Id: I54e651a952afa8928cc0204ba37092d3b2347266
Reviewed-on: https://go-review.googlesource.com/127737
Run-TryBot: Mikio Hara <mikioh.mikioh@gmail.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
6 years agodatabase/sql: fix driverStmt.Close() comment typo
Frédéric Guillot [Wed, 25 Jul 2018 23:36:11 +0000 (16:36 -0700)]
database/sql: fix driverStmt.Close() comment typo

Change-Id: I2256c850e071882b00c362da03abc8b021c1ec2a
Reviewed-on: https://go-review.googlesource.com/126015
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
6 years agomath: add tests for erf and erfc
Keith Randall [Tue, 24 Jul 2018 16:59:57 +0000 (09:59 -0700)]
math: add tests for erf and erfc

Test large but not infinite arguments.

This CL adds a test which breaks s390x.  Don't submit until
a fix for that is figured out.

Update #26477

Change-Id: Ic86739fe3554e87d7f8e15482875c198fcf1d59c
Reviewed-on: https://go-review.googlesource.com/125641
Run-TryBot: Keith Randall <khr@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
6 years agocmd/go: revert "cmd/go: no longer eval symlinks in inDir"
Ian Lance Taylor [Fri, 3 Aug 2018 01:16:39 +0000 (18:16 -0700)]
cmd/go: revert "cmd/go: no longer eval symlinks in inDir"

It breaks on the Darwin builders, with

--- FAIL: TestTestCacheInputs (21.65s)
    go_test.go:5371: file.txt: old=2018-08-02 15:12:21.136438 -0700 PDT m=+219.458659208, info.ModTime=2018-08-02 15:12:21 -0700 PDT
    go_test.go:5377: running testgo [test testcache]
    go_test.go:5377: standard output:
    go_test.go:5377: ok   testcache 0.013s

    go_test.go:5378: running testgo [test testcache]
    go_test.go:5378: standard output:
    go_test.go:5378: ok   testcache (cached)

    go_test.go:5382: running testgo [test testcache]
    go_test.go:5382: standard output:
    go_test.go:5382: ok   testcache 0.172s

    go_test.go:5384: running testgo [test testcache]
    go_test.go:5384: standard output:
    go_test.go:5384: ok   testcache (cached)

    go_test.go:5387: running testgo [test testcache -run=FileSize]
    go_test.go:5387: standard output:
    go_test.go:5387: ok   testcache 0.012s

    go_test.go:5388: running testgo [test testcache -run=FileSize]
    go_test.go:5388: standard output:
    go_test.go:5388: ok   testcache (cached)

    go_test.go:5391: running testgo [test testcache -run=FileSize]
    go_test.go:5391: standard output:
    go_test.go:5391: ok   testcache 0.008s

    go_test.go:5393: running testgo [test testcache -run=FileSize]
    go_test.go:5393: standard output:
    go_test.go:5393: ok   testcache (cached)

    go_test.go:5396: running testgo [test testcache -run=Chdir]
    go_test.go:5396: standard output:
    go_test.go:5396: ok   testcache 0.417s

    go_test.go:5397: running testgo [test testcache -run=Chdir]
    go_test.go:5397: standard output:
    go_test.go:5397: ok   testcache (cached)

    go_test.go:5400: running testgo [test testcache -run=Chdir]
    go_test.go:5400: standard output:
    go_test.go:5400: ok   testcache (cached)

    go_test.go:5401: did not notice file size change
    go_test.go:5401: pattern \(cached\) found unexpectedly in standard output
FAIL

Original CL description:

    Evaluating the symlinks was slowing down test cache checks.

    Fixes #26562
    Fixes #26726

            ijt:~/gopath/src/issue26562$ cat foo_test.go
            package foo_test

            import (
                    "fmt"
                    "os"
                    "path/filepath"
                    "testing"
            )

            // package and imports snipped
            func TestCache(t *testing.T) {
                    tmp := os.TempDir()
                    for i := 0; i < 1000000; i++ {
                            os.Stat(filepath.Join(tmp, fmt.Sprintf("%d", i)))
                    }
            }
            ijt:~/gopath/src/issue26562$ time ~/github/go/bin/go test -count=1
            PASS
            ok      issue26562      9.444s

            real    0m10.021s
            user    0m2.344s
            sys     0m7.835s
            ijt:~/gopath/src/issue26562$ time ~/github/go/bin/go test .
            ok      issue26562      (cached)

            real    0m0.802s
            user    0m0.551s
            sys     0m0.306s

Updates #26562
Updates #26726

Change-Id: I7914ee57dc75bcbd7f0ea01c70bed97d67c810ea
Reviewed-on: https://go-review.googlesource.com/127715
Run-TryBot: Ian Lance Taylor <iant@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
6 years agomath: ensure Erfc is not called with out-of-expected-range arguments on s390x
bill_ofarrell [Tue, 31 Jul 2018 23:48:52 +0000 (19:48 -0400)]
math: ensure Erfc is not called with out-of-expected-range arguments on s390x

The existing implementation produces correct results with a wide range of inputs,
but invalid results asymptotically. With this change we ensure correct asymptotic results
on s390x

Fixes #26477

Change-Id: I760c1f8177f7cab2d7622ab9a926dfb1f8113b49
Reviewed-on: https://go-review.googlesource.com/127119
Reviewed-by: Keith Randall <khr@golang.org>
Run-TryBot: Ian Lance Taylor <iant@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>

6 years agocrypto/ecdsa: add a package level example
Phil Pearl [Wed, 20 Jun 2018 19:40:33 +0000 (20:40 +0100)]
crypto/ecdsa: add a package level example

Change-Id: I4063d5ec4ac45561b94472b528583be564981912
Reviewed-on: https://go-review.googlesource.com/120144
Run-TryBot: Filippo Valsorda <filippo@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Filippo Valsorda <filippo@golang.org>
6 years agocmd/go: no longer eval symlinks in inDir
Issac Trotts [Thu, 2 Aug 2018 04:05:03 +0000 (21:05 -0700)]
cmd/go: no longer eval symlinks in inDir

Evaluating the symlinks was slowing down test cache checks.

Fixes #26562
Fixes #26726

ijt:~/gopath/src/issue26562$ cat foo_test.go
package foo_test

import (
"fmt"
"os"
"path/filepath"
"testing"
)

// package and imports snipped
func TestCache(t *testing.T) {
tmp := os.TempDir()
for i := 0; i < 1000000; i++ {
os.Stat(filepath.Join(tmp, fmt.Sprintf("%d", i)))
}
}
ijt:~/gopath/src/issue26562$ time ~/github/go/bin/go test -count=1
PASS
ok      issue26562      9.444s

real    0m10.021s
user    0m2.344s
sys     0m7.835s
ijt:~/gopath/src/issue26562$ time ~/github/go/bin/go test .
ok      issue26562      (cached)

real    0m0.802s
user    0m0.551s
sys     0m0.306s

Change-Id: I3ce7f7b68bb5b9e802069f277e79e1ed3c162622
Reviewed-on: https://go-review.googlesource.com/127635
Run-TryBot: Ian Lance Taylor <iant@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
6 years agocmd/go: move mod_tidy.txt from testdata/mod to testdata/src
Bryan C. Mills [Thu, 2 Aug 2018 16:11:46 +0000 (12:11 -0400)]
cmd/go: move mod_tidy.txt from testdata/mod to testdata/src

This file is clearly a script test, not a module definition, but it's in the
wrong directory to be run as one.

Fortunately, it passes with only minor modifications (changing “..” to “.”).

Change-Id: I66a544dfde82b8348108d2596c74e174157ae297
Reviewed-on: https://go-review.googlesource.com/127615
Run-TryBot: Bryan C. Mills <bcmills@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
6 years agodoc/go1.11: remove go/scanner note
Ian Lance Taylor [Thu, 2 Aug 2018 19:41:48 +0000 (12:41 -0700)]
doc/go1.11: remove go/scanner note

The relevant change was reverted in CL 127658.

Updates #26671

Change-Id: I0c555c8e18f4c7e289de56d3ef840d79cf0adac2
Reviewed-on: https://go-review.googlesource.com/127659
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
6 years agogo/scanner: continue adding directory to file name
Ian Lance Taylor [Thu, 2 Aug 2018 19:35:32 +0000 (12:35 -0700)]
go/scanner: continue adding directory to file name

Before CL 97795, when go/scanner saw a //line comment, it would clean
the path and, if the path was relative, prepend the directory from the
file name. This was not the best API because it meant that the
behavior changed based on whether the code was running on Windows or
not, and it meant that information from the //line directive was lost.
So in CL 97795, among other changes, go/scanner was changed to simply
return the filename given in the //line comment.

Unfortunately existing tools such as unparam and unconvert expected
the old behavior. In order to avoid breaking those tools, revert that
part of the change.

Fixes #26671

Change-Id: Ifa06542bd19cda9d682ac33766ab9080444ba050
Reviewed-on: https://go-review.googlesource.com/127658
Run-TryBot: Ian Lance Taylor <iant@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
6 years agocmd/link/internal/wasm: add Go version as a custom wasm section
Richard Musiol [Thu, 2 Aug 2018 20:39:00 +0000 (22:39 +0200)]
cmd/link/internal/wasm: add Go version as a custom wasm section

The interface between the wasm binary and wasm_exec.js is experimental
and likely to change in the future. Still, there are some early adopters
who experiment with non-web wasm runtimes. They can't use wasm_exec.js
and have to provide their own equivalent. Adding the Go version as a
custom wasm sections allows for them to support a stable Go version and
the latest devel at the same time.

Change-Id: I6d377bb0a0c33cb80e86dd15a34ddc9a70680227
Reviewed-on: https://go-review.googlesource.com/127597
Run-TryBot: Richard Musiol <neelance@gmail.com>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
6 years agoencoding/xml: document HTMLAutoClose and HTMLEntity more
Brad Fitzpatrick [Thu, 2 Aug 2018 20:42:00 +0000 (20:42 +0000)]
encoding/xml: document HTMLAutoClose and HTMLEntity more

They didn't even have public types, which made them pretty mysterious.

Give them types and reference the Decoder, which uses them.

Also, refer them qualified by their package name in the examples, as
we usually do in example*.go files, which usually use package foo_test
specifically so we can show the package names along with the symbols.

Change-Id: I50ebbbf43778c1627bfa526f8824f52c7953454f
Reviewed-on: https://go-review.googlesource.com/127663
Reviewed-by: Bryan C. Mills <bcmills@google.com>
6 years agoencoding/xml: remove some primordial semicolons
Brad Fitzpatrick [Thu, 2 Aug 2018 20:17:21 +0000 (20:17 +0000)]
encoding/xml: remove some primordial semicolons

Change-Id: I23e5d87648a4091fb4f6616bf80aa6c800974900
Reviewed-on: https://go-review.googlesource.com/127662
Reviewed-by: Bryan C. Mills <bcmills@google.com>
6 years agosyscall: use deprecation convention in package comment, simplify
Brad Fitzpatrick [Thu, 2 Aug 2018 19:34:38 +0000 (19:34 +0000)]
syscall: use deprecation convention in package comment, simplify

Change-Id: I612041d31c01d49135947796fe2a09db3e6894d4
Reviewed-on: https://go-review.googlesource.com/127657
Reviewed-by: Ian Lance Taylor <iant@golang.org>
6 years agoos: add check for empty executable path on darwin
Roberto Clapis [Thu, 2 Aug 2018 13:27:14 +0000 (15:27 +0200)]
os: add check for empty executable path on darwin

os used to panic (access out of bounds) if executablePath was left empty

Fixes #22529

Change-Id: Iead5e60a3b000dbde421a8e8612c3690340879ce
Reviewed-on: https://go-review.googlesource.com/127546
Run-TryBot: Ian Lance Taylor <iant@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
6 years agocmd/go: skip cgo test when cgo isn't available
Brad Fitzpatrick [Thu, 2 Aug 2018 05:08:51 +0000 (05:08 +0000)]
cmd/go: skip cgo test when cgo isn't available

Fixes #26758

Change-Id: If08bafc85c353dfbb546107b75c8c884ab9c88e4
Reviewed-on: https://go-review.googlesource.com/127475
Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Bryan C. Mills <bcmills@google.com>
6 years agotest/codegen: add more combined store tests for arm64
Ben Shi [Tue, 10 Jul 2018 10:32:04 +0000 (10:32 +0000)]
test/codegen: add more combined store tests for arm64

Some combined store optimization was already implemented
in go-1.11, but there is no corresponding test cases.

Change-Id: Iebdad186e92047942e53a74f2c20b390922e1e9c
Reviewed-on: https://go-review.googlesource.com/122915
Run-TryBot: Ben Shi <powerman1st@163.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
6 years agomisc/cgo/testcshared: force descriptor 30 to be closed when execing test
Ian Lance Taylor [Wed, 1 Aug 2018 21:50:11 +0000 (14:50 -0700)]
misc/cgo/testcshared: force descriptor 30 to be closed when execing test

Fixes #26730

Change-Id: I3396598282c814e75c0c4ef16f692dbe83d2935e
Reviewed-on: https://go-review.googlesource.com/127395
Run-TryBot: Ian Lance Taylor <iant@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
6 years agosyscall/js: move callback helper code to misc/wasm to avoid using eval()
Xudong Zheng [Wed, 1 Aug 2018 21:33:09 +0000 (21:33 +0000)]
syscall/js: move callback helper code to misc/wasm to avoid using eval()

When using the compiled .wasm with misc/wasm/wasm_exec.js, we get an error message if the site prohibits eval() via the Content-Security-Policy header. This can be resolved by moving the callback helper code from src/syscall/js/callback.go to misc/wasm/wasm_exec.js.

Fixes #26748

Change-Id: I28f271b8a00631f4c66a1ac31305e85f20f9d420
GitHub-Last-Rev: a6a0268f38d36c198ca6b4ceb2e75cc8afec74eb
GitHub-Pull-Request: golang/go#26750
Reviewed-on: https://go-review.googlesource.com/127296
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
6 years agocmd/cgo: don't give inconsistent typedef error for cgo-defined types
Ian Lance Taylor [Wed, 1 Aug 2018 19:51:19 +0000 (12:51 -0700)]
cmd/cgo: don't give inconsistent typedef error for cgo-defined types

The cgo tool predefines some C types such as C.uint. Don't give an
error if the type that cgo defines does not match the type in a header file.

Fixes #26743

Change-Id: I9ed3b4c482b558d8ffa8bf61eb3209415b7a9e3c
Reviewed-on: https://go-review.googlesource.com/127356
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Reviewed-by: Keith Randall <khr@golang.org>
6 years agovendor: update golang.org/x/net/http2/hpack
Brad Fitzpatrick [Wed, 1 Aug 2018 19:48:58 +0000 (19:48 +0000)]
vendor: update golang.org/x/net/http2/hpack

Updates bundled golang.org/x/net/http2/hpack to x/net git rev 22bb95c5e for:

   http2/hpack: lazily build huffman table on first use
   https://golang.org/cl/127275

   http2/hpack: reduce memory for huffman decoding table
   https://golang.org/cl/127235

   http2/hpack: dynamic table updates must occur first
   https://golang.org/cl/111681

And a typo & gofmt CL.

Updates #25023

Change-Id: I7027fdb4982305aa671d811fe87f61e5df0f8e0e
Reviewed-on: https://go-review.googlesource.com/127355
Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
Reviewed-by: Andrew Bonventre <andybons@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>

6 years agogo/build: accept ! in cgo arguments
Ian Lance Taylor [Wed, 1 Aug 2018 18:37:14 +0000 (11:37 -0700)]
go/build: accept ! in cgo arguments

The ! can show up when using ${SRCDIR} with uppercase letters in module names.

Fixes #26716

Change-Id: Ia474ed8ec40a88076e8aac21103f6c7bb3848bdb
Reviewed-on: https://go-review.googlesource.com/127297
Run-TryBot: Ian Lance Taylor <iant@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
6 years agocmd/go: avoid panic on 'go mod' without arguments
as [Wed, 1 Aug 2018 18:38:46 +0000 (18:38 +0000)]
cmd/go: avoid panic on 'go mod' without arguments

Fixes #26738

Change-Id: Icede3f59acb5b0e388660653cefc24a195b5d43b
GitHub-Last-Rev: 9989b74c12e94163c1f18859485a4ac0d74c5453
GitHub-Pull-Request: golang/go#26739
Reviewed-on: https://go-review.googlesource.com/127160
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Reviewed-by: Bryan C. Mills <bcmills@google.com>
6 years agoruntime: fix syscall error returns on mips/mips64/ppc64
David Wimmer [Wed, 25 Jul 2018 18:44:07 +0000 (18:44 +0000)]
runtime: fix syscall error returns on mips/mips64/ppc64

The linux syscall functions used in runtime are designed around the calling
convention of returning errors as negative numbers. On some other systems
(like mips and ppc) the actual syscalls signal errors in other ways. This
means that the assembly implementations of the syscall functions on these
platforms need to transform the return values in the error cases to match
the expected negative errno values. This was addressed for certain syscalls
in https://golang.org/cl/19455 and https://golang.org/cl/89235. This patch
handles the rest of the syscall functions in sys_linux_*.s that return any
value for mips/mips64/ppc64.

Fixes #23446

Change-Id: I302100261231f76d5850ab2c2ea080170d7dba72
GitHub-Last-Rev: e358e2b08c76897b13f917cfa12b5085e20337f9
GitHub-Pull-Request: golang/go#26606
Reviewed-on: https://go-review.googlesource.com/125895
Run-TryBot: Ian Lance Taylor <iant@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
6 years agocmd/cgo: stop expanding typedefs once we reach __builtin types
Keith Randall [Wed, 1 Aug 2018 04:31:19 +0000 (21:31 -0700)]
cmd/cgo: stop expanding typedefs once we reach __builtin types

Expanding __builtin types (__builtin_va_list, particularly) leads
to problems because they are expanded by the compiler itself - the
expansions are not generated by anything in a .h file. The types
a __builtin type expand to are thus very confusing to cgo.

See CL 126275.

Change-Id: I66eb6a4f27f652f1b934ba702f580f6daa62a566
Reviewed-on: https://go-review.googlesource.com/127156
Run-TryBot: Keith Randall <khr@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
6 years agostrconv: clarify "g" and "G" precision in the docs
Daniela Petruzalek [Wed, 1 Aug 2018 00:19:55 +0000 (00:19 +0000)]
strconv: clarify "g" and "G" precision in the docs

Fix the wording in "strconv" and "fmt" to make explicit
that the "g" and "G" formats remove trailing zeroes.

Fixes #25082

Change-Id: I2e2ad0a98d2ea27a3a8a006a0563b366f7a3b71b
Reviewed-on: https://go-review.googlesource.com/127135
Reviewed-by: Rob Pike <r@golang.org>
6 years agocmd/doc: adapt directory search for modules
Russ Cox [Mon, 30 Jul 2018 18:53:44 +0000 (14:53 -0400)]
cmd/doc: adapt directory search for modules

Previously, cmd/doc treated GOROOT/src and GOPATH/src
as the roots of the directory trees holding packages, assuming
that the import path would be the path elements after the src directory.

With modules, each module serves as its own root of a file tree,
and the import path prefix starts with the module path before
adding the path elements after the module root.

There are ways we could make this more efficient,
but for now this is a fairly small adjustment to get 'go doc'
working OK for modules for Go 1.11.

Fixes #26635.

Change-Id: Ifdee4194601312846c7b1fc67f2fe7a4a44269cc
Reviewed-on: https://go-review.googlesource.com/126799
Run-TryBot: Russ Cox <rsc@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Rob Pike <r@golang.org>
6 years agocmd/go: move module cache from $GOPATH/src/mod to $GOPATH/pkg/mod
Russ Cox [Mon, 30 Jul 2018 18:58:45 +0000 (14:58 -0400)]
cmd/go: move module cache from $GOPATH/src/mod to $GOPATH/pkg/mod

Using $GOPATH/src/mod confuses too many tools.
$GOPATH/pkg/mod seems better for now.
It's also next to dep's cache, $GOPATH/pkg/dep.
If we do eliminate GOPATH/pkg for holding .a files (#4719)
then we could still keep it around for pkg/mod.
(Or we could move the module cache again then.)

Fixes #26401.
Fixes #26635.

Change-Id: I18f7da216ed9f490eded3c00d837fb086ae5b6a4
Reviewed-on: https://go-review.googlesource.com/126755
Run-TryBot: Russ Cox <rsc@golang.org>
Reviewed-by: Bryan C. Mills <bcmills@google.com>
Reviewed-by: Rob Pike <r@golang.org>
6 years agocmd/go: add list -find to find packages but not resolve imports
Russ Cox [Mon, 30 Jul 2018 17:51:35 +0000 (13:51 -0400)]
cmd/go: add list -find to find packages but not resolve imports

This is needed by golang.org/x/tools/go/packages
and also gives a way to do a quicker scan for
packages with a given final path element:

go list -find .../template

Change-Id: I092f4ac5ba7af7d727eb8204379fa436667061b9
Reviewed-on: https://go-review.googlesource.com/126716
Run-TryBot: Russ Cox <rsc@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Bryan C. Mills <bcmills@google.com>
6 years agocmd/go: allow list of absolute directory path
Russ Cox [Mon, 30 Jul 2018 16:59:42 +0000 (12:59 -0400)]
cmd/go: allow list of absolute directory path

Relative directory paths have always worked.
This CL makes absolute directory paths be handled the same way.
(It was an oversight that they were excluded.)

It also fixes the case of naming the directory holding source code
for a package in a module dependency.

Fixes #14177.
Fixes #26550.

Change-Id: I29a0ca2795d35eca773121ee91a97628b56947ce
Reviewed-on: https://go-review.googlesource.com/126715
Run-TryBot: Russ Cox <rsc@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Michael Matloob <matloob@golang.org>
Reviewed-by: Bryan C. Mills <bcmills@google.com>
6 years agocmd/go: replace -getmode with -mod, $GOPROXY
Russ Cox [Sun, 29 Jul 2018 05:38:25 +0000 (01:38 -0400)]
cmd/go: replace -getmode with -mod, $GOPROXY

The old -getmode flag had two settings:
-getmode=local meant don't download from the network.
-getmode=vendor meant only use the vendor directory.

The new -mod flag has two settings:
-mod=readonly means refuse to automatically update go.mod (mainly for CI testing).
-mod=vendor means only use the vendor directory.

The old GOPROXY variable had two settings:
a proxy URL or else the empty string (direct connect).

The new GOPROXY variable has three settings:
a proxy URL, the string "off" (no network use allowed),
or else the empty string or the explicit string "direct" (direct connection).
We anticipate allow a comma-separated sequence in a future release,
so commas are disallowed entirely right now.

Fixes #24666.
Fixes #26586.
Fixes #26370.
Fixes #26361.

Change-Id: If2601a16b09f04800f666938c071fc053b4c3f9c
Reviewed-on: https://go-review.googlesource.com/126696
Run-TryBot: Russ Cox <rsc@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Bryan C. Mills <bcmills@google.com>
6 years agocmd/go: add $GOFLAGS environment variable
Russ Cox [Sun, 29 Jul 2018 05:10:02 +0000 (01:10 -0400)]
cmd/go: add $GOFLAGS environment variable

People sometimes want to turn on a particular go command flag by default.
In Go 1.11 we have at least two different cases where users may need this.

1. Linking can be noticeably slower on underpowered systems
due to DWARF, and users may want to set -ldflags=-w by default.

2. For modules, some users or CI systems will want vendoring always,
so they want -getmode=vendor (soon to be -mod=vendor) by default.

This CL generalizes the problem to “set default flags for the go command.”

$GOFLAGS can be a space-separated list of flag settings, but each
space-separated entry in the list must be a standalone flag.
That is, you must do 'GOFLAGS=-ldflags=-w' not 'GOFLAGS=-ldflags -w'.
The latter would mean to pass -w to go commands that understand it
(if any do; if not, it's an error to mention it).

For #26074.
For #26318.
Fixes #26585.

Change-Id: I428f79c1fbfb9e41e54d199c68746405aed2319c
Reviewed-on: https://go-review.googlesource.com/126656
Run-TryBot: Russ Cox <rsc@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Rob Pike <r@golang.org>
6 years agocmd/go: change list -compiled to populate new CompiledGoFiles list
Russ Cox [Sun, 29 Jul 2018 13:26:24 +0000 (09:26 -0400)]
cmd/go: change list -compiled to populate new CompiledGoFiles list

CL 108156 added -cgo during the Go 1.11 cycle.
To avoid adding a new field to Package, it redefined the
meaning of the CgoFiles list to be the cgo output instead
of the cgo input.

This was awkward in the go command itself, since the meaning
of the list changed midway through the build.

But, worse, it is awkward to users of go list.
When gathering information about a tree of packages,
we may want the names of both the cgo inputs and the cgo outputs
(golang.org/x/tools/go/packages does, it turns out),
or when combined with -deps (CL 107776),
we may only care about one list or the other depending
on whether the package was requested explicitly or is
being returned as a dependency.

Also, it's not general enough. SWIGFiles turn into cgo files
and then end up in the list too. And maybe there will be others
in the future. What clients really want is the list of files that
are presented to the go compiler, so that they can parse
and type-check them as if they were the compiler instead.

Eliminate all this awkwardness by dropping -cgo and adding
a new -compiled that populates a new CompiledGoFiles list.

Change-Id: I5f152da17cfb2692eedde61721d01ec13067c57d
Reviewed-on: https://go-review.googlesource.com/126695
Run-TryBot: Russ Cox <rsc@golang.org>
Reviewed-by: Michael Matloob <matloob@golang.org>
Reviewed-by: Bryan C. Mills <bcmills@google.com>
6 years agocmd/go: split go mod into multiple subcommands
Russ Cox [Sun, 29 Jul 2018 00:25:06 +0000 (20:25 -0400)]
cmd/go: split go mod into multiple subcommands

The current "go mod" command does too many things.
The design is unclear.

It looks like "everything you might want to do with modules"
which causes people to think all module operations go through
"go mod", which is the opposite of the seamless integration we're
going for. In particular too many people think "go mod -require"
and "go get" are the same.

It does make sense to put the module-specific functionality
under "go mod", but not as flags. Instead, split "go mod" into
multiple subcommands:

go mod edit   # old go mod -require ...
go mod fix    # old go mod -fix
go mod graph  # old go mod -graph
go mod init   # old go mod -init
go mod tidy   # old go mod -sync
go mod vendor # old go mod -vendor
go mod verify # old go mod -verify

Splitting out the individual commands makes both the docs
and the implementations dramatically easier to read.
It simplifies the command lines
(go mod -init -module m is now 'go mod init m')
and allows command-specific flags.

We've avoided subcommands in the go command to date, and we
should continue to avoid adding them unless it really makes
the experience significantly better. In this case, it does.

Creating subcommands required some changes in the core
command-parsing and help logic to generalize from one
level to multiple levels.

As part of having "go mod init" be a separate command,
this CL changes the failure behavior during module initialization
to be delayed until modules are actually needed.
Initialization can still happen early, but the base.Fatalf
is delayed until something needs to use modules.
This fixes a bunch of commands like 'go env' that were
unhelpfully failing with GO111MODULE=on when not in a
module directory.

Fixes #26432.
Fixes #26581.
Fixes #26596.
Fixes #26639.

Change-Id: I868db0babe8c288e8af684b29d4a5ae4825d6407
Reviewed-on: https://go-review.googlesource.com/126655
Run-TryBot: Russ Cox <rsc@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Bryan C. Mills <bcmills@google.com>
6 years agocmd/go: add 'go version' statement in go.mod
Russ Cox [Wed, 25 Jul 2018 04:24:13 +0000 (00:24 -0400)]
cmd/go: add 'go version' statement in go.mod

We aren't planning to use this or advertise it much yet,
but having support for it now will make it easier to start
using in the future - older go commands will understand
what 'go 1.20' means and that they don't have go 1.20.

Fixes #23969.

Change-Id: I729130b2690d3c0b794b49201526b53de5093c45
Reviewed-on: https://go-review.googlesource.com/125940
Run-TryBot: Russ Cox <rsc@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Bryan C. Mills <bcmills@google.com>
6 years agohtml: lazily populate Unescape tables
Brad Fitzpatrick [Tue, 31 Jul 2018 21:37:35 +0000 (21:37 +0000)]
html: lazily populate Unescape tables

Saves ~105KB of heap for callers who don't use html.UnescapeString.
(EscapeString is much more common).

Also saves 70KB of binary size, because now the linker can do dead
code elimination. (because #2559 is still open and global maps always
generate init code)

Fixes #26727
Updates #6853

Change-Id: I18fe9a273097e2c7e0cb7f88205cae1bb60fa89b
Reviewed-on: https://go-review.googlesource.com/127075
Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
Reviewed-by: Emmanuel Odeke <emm.odeke@gmail.com>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>

6 years agodoc: fix link in contribute.html
Mohit kumar Bajoria [Tue, 31 Jul 2018 21:21:52 +0000 (21:21 +0000)]
doc: fix link in contribute.html

Fixes #26611

Change-Id: I111152c7b1156a461c9ddeaf16d2fe7a2d5a00c1
GitHub-Last-Rev: 72090d539b5601b8c585628a11a99b03103d5a75
GitHub-Pull-Request: golang/go#26724
Reviewed-on: https://go-review.googlesource.com/126935
Reviewed-by: Ian Lance Taylor <iant@golang.org>
6 years agocmd/cgo: add column number to line directives
Kir Kolyshkin [Mon, 30 Jul 2018 14:05:49 +0000 (17:05 +0300)]
cmd/cgo: add column number to line directives

Due to a new specification of //line: directives, missing
column info is now treated as column 0, aka "unknown column"
(see https://github.com/golang/go/issues/24183 for details).

As cgo does not add column number to generated //line: directive,
resulting files parsed do not have column info.

Fix by adding column of 1 to generated line directives.

Fixes #26692

Change-Id: Ie9263c0cf666b92d19c34240e745e8f32ffe7174
Reviewed-on: https://go-review.googlesource.com/126675
Run-TryBot: Ian Lance Taylor <iant@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
6 years agocmd/cgo: make sure we FinishType everything
Keith Randall [Thu, 26 Jul 2018 23:33:27 +0000 (16:33 -0700)]
cmd/cgo: make sure we FinishType everything

Ensure that we call FinishType on all the types added to the ptrs map.
We only add a key to ptrKeys once. Once we FinishType for that key,
we'll never look at that key again. But we can add a new type under that
key later, and we'll never finish it.

Make sure we add the key to the ptrKeys list every time we make the list
of types for that key non-empty.

This makes sure we FinishType each pointer type exactly once.

Fixes #26517

Change-Id: Iad86150d516fcfac167591daf5a26c38bec7d143
Reviewed-on: https://go-review.googlesource.com/126275
Reviewed-by: Ian Lance Taylor <iant@golang.org>
6 years agocmd/go/internal/modfetch/codehost: quote arguments to commands printed from -x
Bryan C. Mills [Tue, 31 Jul 2018 18:37:43 +0000 (14:37 -0400)]
cmd/go/internal/modfetch/codehost: quote arguments to commands printed from -x

Some of the arguments — particularly format strings passed to git commands — may
contain spaces, and it's useful to be able to paste commands from 'go get -x
foo' directly into a shell to reproduce their output.

Change-Id: I4f0c0b4e05db8b5232458e9a271f2ccbb665e85a
Reviewed-on: https://go-review.googlesource.com/126955
Run-TryBot: Bryan C. Mills <bcmills@google.com>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>

6 years agodoc/go1.11: mention ReverseProxy passing TE: trailers headers to backend
Brad Fitzpatrick [Wed, 25 Jul 2018 17:00:40 +0000 (17:00 +0000)]
doc/go1.11: mention ReverseProxy passing TE: trailers headers to backend

Change-Id: Idbc507ae3df791a759b967bcbe833b8e08bd9611
Reviewed-on: https://go-review.googlesource.com/125817
Reviewed-by: Andrew Bonventre <andybons@golang.org>
6 years agonet/http: revert CL 89275 (don't sniff Content-Type when nosniff set)
Brad Fitzpatrick [Tue, 31 Jul 2018 17:09:49 +0000 (17:09 +0000)]
net/http: revert CL 89275 (don't sniff Content-Type when nosniff set)

Also updates the bundled http2 to x/net/http2 git rev 49c15d80 for:

   http2: revert CL 107295 (don't sniff Content-type in Server when nosniff)
   https://golang.org/cl/126895

Fixes #24795

Change-Id: I6ae1a21c919947089274e816eb628d20490f83ce
Reviewed-on: https://go-review.googlesource.com/126896
Reviewed-by: Damien Neil <dneil@google.com>
6 years agosyscall: remove support for O_NONBLOCK and O_SYNC on js/wasm
Richard Musiol [Sat, 28 Jul 2018 11:45:02 +0000 (13:45 +0200)]
syscall: remove support for O_NONBLOCK and O_SYNC on js/wasm

This commit removes O_NONBLOCK on js/wasm. O_SYNC can't be
removed, because it is referenced by the os package, so instead
its use returns an error.

On Windows, the options O_NONBLOCK and O_SYNC are not available
when opening a file with Node.js. This caused the initialization
of the syscall package to panic.

The simplest solution is to not support these two options on js/wasm
at all. Code written for js/wasm is supposed to be portable,
so platform-specific options should not be used.

Fixes #26524.

Change-Id: I366aa3cdcfa59dfa9dc513368259f363ca090f00
Reviewed-on: https://go-review.googlesource.com/126600
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>

6 years agodoc/go1.11: add note to remove CLI support for godoc
Agniva De Sarker [Tue, 31 Jul 2018 04:11:31 +0000 (09:41 +0530)]
doc/go1.11: add note to remove CLI support for godoc

Updates #25443

Change-Id: I5e2f84f3cee6582807b2756ffac91e8583a2baec
Reviewed-on: https://go-review.googlesource.com/126737
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
6 years agosyscall/js: improve documentation about mappings to JavaScript values
Richard Musiol [Tue, 31 Jul 2018 13:17:31 +0000 (15:17 +0200)]
syscall/js: improve documentation about mappings to JavaScript values

This commit moves the documentation about how Go values are mapped to
JavaScript values to the functions that apply the mapping, instead of
mentioning them in the documentation of the types being mapped. This
should be easier to read.

Change-Id: I2465eb4a45f71b3b61624349e908a195010a09f1
Reviewed-on: https://go-review.googlesource.com/126856
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
6 years agogo/doc: do not treat methods as test functions
Roger Peppe [Fri, 20 Jul 2018 10:31:39 +0000 (11:31 +0100)]
go/doc: do not treat methods as test functions

The example code was treating a method starting with Test
as a test function when considering whether to produce
a whole-file example or not. As a method can never be
a test function, this isn't correct.

Change-Id: Idd8ec9eaf0904af076e941d7fe7d967f6b7eef78
Reviewed-on: https://go-review.googlesource.com/125257
Reviewed-by: Daniel Martí <mvdan@mvdan.cc>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Reviewed-by: Andrew Bonventre <andybons@golang.org>
Run-TryBot: Daniel Martí <mvdan@mvdan.cc>
TryBot-Result: Gobot Gobot <gobot@golang.org>

6 years agodoc: mention Faccessat flags support in go1.11
Ian Lance Taylor [Fri, 27 Jul 2018 21:16:45 +0000 (14:16 -0700)]
doc: mention Faccessat flags support in go1.11

Change-Id: I4d01be5330db06877065aabe7a3faf69bce0dfb2
Reviewed-on: https://go-review.googlesource.com/126515
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
6 years agocmd/compile: remove dead code
Yury Smolsky [Fri, 27 Jul 2018 21:29:38 +0000 (00:29 +0300)]
cmd/compile: remove dead code

This struct, global var and method are not used anywhere.

Change-Id: I83d9e93041a46904064d0fa88ab655a50149c747
Reviewed-on: https://go-review.googlesource.com/126397
Run-TryBot: Yury Smolsky <yury@smolsky.by>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
6 years agodoc: add link to go command modules docs from Go 1.11 release notes
Paul Jolly [Mon, 30 Jul 2018 21:31:01 +0000 (22:31 +0100)]
doc: add link to go command modules docs from Go 1.11 release notes

The FAQ already has a link to the release notes and the go command docs.
Add a link from the release notes to the go command docs, to ensure that
people ultimately end up there (the docs that then signpost
people to the relevant other help docs).

Updates #25517.

Change-Id: I284c84af712d4519c59f7ca6c396b05a4c967cee
Reviewed-on: https://go-review.googlesource.com/126777
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
6 years agonet/http: expand a TimeoutHandler test a bit
Brad Fitzpatrick [Wed, 25 Jul 2018 18:08:16 +0000 (18:08 +0000)]
net/http: expand a TimeoutHandler test a bit

Updates #22821

Change-Id: I2d0d483538174a90f56c26d99bea89fe9ce4d144
Reviewed-on: https://go-review.googlesource.com/125855
Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Andrew Bonventre <andybons@golang.org>