- 01 Aug, 2018 4 commits
-
-
Russ Cox authored
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>
-
Russ Cox authored
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>
-
Russ Cox authored
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>
-
Russ Cox authored
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>
-
- 31 Jul, 2018 20 commits
-
-
Brad Fitzpatrick authored
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>
-
Mohit kumar Bajoria authored
Fixes #26611 Change-Id: I111152c7b1156a461c9ddeaf16d2fe7a2d5a00c1 GitHub-Last-Rev: 72090d539b5601b8c585628a11a99b03103d5a75 GitHub-Pull-Request: golang/go#26724 Reviewed-on: https://go-review.googlesource.com/126935Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Kir Kolyshkin authored
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>
-
Keith Randall authored
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/126275Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Bryan C. Mills authored
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>
-
Brad Fitzpatrick authored
Change-Id: Idbc507ae3df791a759b967bcbe833b8e08bd9611 Reviewed-on: https://go-review.googlesource.com/125817Reviewed-by: Andrew Bonventre <andybons@golang.org>
-
Brad Fitzpatrick authored
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/126896Reviewed-by: Damien Neil <dneil@google.com>
-
Richard Musiol authored
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/126600Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Agniva De Sarker authored
Updates #25443 Change-Id: I5e2f84f3cee6582807b2756ffac91e8583a2baec Reviewed-on: https://go-review.googlesource.com/126737Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Richard Musiol authored
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/126856Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Roger Peppe authored
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/125257Reviewed-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>
-
Ian Lance Taylor authored
Change-Id: I4d01be5330db06877065aabe7a3faf69bce0dfb2 Reviewed-on: https://go-review.googlesource.com/126515Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Yury Smolsky authored
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>
-
Paul Jolly authored
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/126777Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Brad Fitzpatrick authored
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>
-
Bryan C. Mills authored
Expand mod_internal tests to cover vendoring, replacements, and failure messages. Packages beginning with "golang_org/" resolve to $GOROOT/src/vendor, and should therefore not be visible within module code. Fixes #23970. Change-Id: I706e9c4a1d1e025883e84b897972678d0fa3f2bd Reviewed-on: https://go-review.googlesource.com/125836 Run-TryBot: Bryan C. Mills <bcmills@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Russ Cox <rsc@golang.org>
-
Bryan C. Mills authored
If a single module is imported via two different paths (e.g., as itself and as a replacement for something else), some users may be surprised if the two paths do not share the same package-level state. Others may be surprised if the two paths do share state. Punt on the question for now by rejecting that condition explicitly. Fixes #26607. Change-Id: I15c3889f61f8dd4ba5e5c48ca33ad63aeecac04e Reviewed-on: https://go-review.googlesource.com/126156 Run-TryBot: Bryan C. Mills <bcmills@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Russ Cox <rsc@golang.org>
-
Bryan C. Mills authored
doImport is itself a thin wrapper around Import, and doPkg is its only call site. I'm having trouble following what doPkg is doing due to the indirection, so I'm removing it. Change-Id: I6167be68e869a36010a56a5869df50b1145ac813 Reviewed-on: https://go-review.googlesource.com/125837 Run-TryBot: Bryan C. Mills <bcmills@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Russ Cox <rsc@golang.org>
-
Bryan C. Mills authored
Updates #23970. Change-Id: I2e69ad15b9d1097bfeef9947f03cfa6834a6a049 Reviewed-on: https://go-review.googlesource.com/125676 Run-TryBot: Bryan C. Mills <bcmills@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Russ Cox <rsc@golang.org>
-
Bryan C. Mills authored
We can add unversioned paths via -replace; -dropreplace must be able to drop them. Fixes #26417. Change-Id: Ic05e9ae2ad80c008e11b195695cbb9d0fc8dbc0a Reviewed-on: https://go-review.googlesource.com/126155 Run-TryBot: Bryan C. Mills <bcmills@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Russ Cox <rsc@golang.org>
-
- 30 Jul, 2018 3 commits
-
-
Michael Matloob authored
Previously go list -test <pkg> would return pkg and, if it exists, pkg.test, the test main package. This change will also list the two test code packages (if they exist) that contain testing functions, <pkg> [<pkg>.test] and <pkg>_test [<pkg>.test]. These packages which contain testing code are usually the packages go list users desire to know about, so they should be surfaced in go list -test. See the discussion at golang.org/cl/123635#message-5befbc66663063fb7247645a02ab1327a681e362 for more context. Change-Id: I7170b539d02b548c050ac54048735ed785f47389 Reviewed-on: https://go-review.googlesource.com/126475 Run-TryBot: Michael Matloob <matloob@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Russ Cox <rsc@golang.org>
-
Ben Shi authored
"LDP (R0), (F0, F1)" and "STP (F1, F2), (R0)" are silently accepted by the arm64 assembler without any error message. And this CL fixes that bug. fixes #26556. Change-Id: Ib6fae81956deb39a4ffd95e9409acc8dad3ab2d2 Reviewed-on: https://go-review.googlesource.com/125637 Run-TryBot: Ben Shi <powerman1st@163.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Cherry Zhang <cherryyz@google.com>
-
Alberto Donizetti authored
Change-Id: Iad01c9a4a080cf0c317768c34b3fbfd3c9707969 Reviewed-on: https://go-review.googlesource.com/126609Reviewed-by: Andrew Bonventre <andybons@golang.org>
-
- 29 Jul, 2018 3 commits
-
-
Brad Fitzpatrick authored
Change-Id: Ie613a707dad1ac69627e1d7584d7d4e311db22f7 Reviewed-on: https://go-review.googlesource.com/126622Reviewed-by: Andrew Bonventre <andybons@golang.org>
-
John Gibb authored
The message was hardcoded to indicate that the test wanted a nil error, even though in some cases a specific error was wanted. This patch fixes the message to print the wanted error. Change-Id: Id86ea89d6f41f25bfa164acc50142ae8ff0ec410 GitHub-Last-Rev: c220374845667942c608c02afadff95443e2ec20 GitHub-Pull-Request: golang/go#26674 Reviewed-on: https://go-review.googlesource.com/126619Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
David du Colombier authored
CL 125296 added TestScript/mod_gobuild_import. This test is failing on Plan 9, because go/build invokes the go tool which cannot be found in the path. The "PATH" environment variable has been updated to contain the path to the go tool on Unix and Windows, but on Plan 9, the analogous environment variable is called "path". This change fixes the script engine by setting the "path" environment variable on Plan 9. Fixes #26669. Change-Id: If1be50e14baceccee591f4f76b7e698f5e12a2d4 Reviewed-on: https://go-review.googlesource.com/126608 Run-TryBot: David du Colombier <0intro@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
- 28 Jul, 2018 9 commits
-
-
Constantin Konstantinidis authored
The test TestACL failed when ran on a Windows set up in another language as the "Guest" account name is translated. The SID of the group of Guests always exist and is used instead. Fixes #26658 Change-Id: Ia885d08a9e50563787e389c2d2dc2547881a2943 Reviewed-on: https://go-review.googlesource.com/126598Reviewed-by: Alex Brainman <alex.brainman@gmail.com> Run-TryBot: Alex Brainman <alex.brainman@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Russ Cox authored
This will help with forward compatibility when we add additional directives that only matter for the main module (or that can be safely ignored otherwise). Change-Id: Ida1e186fb2669b128aeb5a9a1187e2535b72b763 Reviewed-on: https://go-review.googlesource.com/125936Reviewed-by: Bryan C. Mills <bcmills@google.com>
-
Russ Cox authored
We're starting to see tutorials that assume 'go mod' is the only module-related command. Fixes #26597. Change-Id: I44701f29f89fc67086f96307afbdb4659bb63873 Reviewed-on: https://go-review.googlesource.com/125935Reviewed-by: Bryan C. Mills <bcmills@google.com>
-
Russ Cox authored
Fixes #26553. Change-Id: I522a0fa96ae161b67d89f38dafde528adcbae243 Reviewed-on: https://go-review.googlesource.com/125658Reviewed-by: Bryan C. Mills <bcmills@google.com>
-
Russ Cox authored
The mod -graph output was showing every dependency as an edge from the main module, instead of showing only the things that are listed in go.mod. Fixes #26489. Change-Id: I248fedb1fc9225e2a7a9ddc2f4a84520b3a96138 Reviewed-on: https://go-review.googlesource.com/125657Reviewed-by: Bryan C. Mills <bcmills@google.com>
-
Russ Cox authored
"go env GOMOD" gives this for the main module already but it's useful to be able to query other modules. Using {{.Dir}} does not work if the go.mod was auto-synthesized. Change-Id: If4844571e9e429b541de0d40c36ff4c5743b2031 Reviewed-on: https://go-review.googlesource.com/125656Reviewed-by: Bryan C. Mills <bcmills@google.com>
-
Russ Cox authored
Fixes #26500. Change-Id: I0a00009ce10f7aab3e6e79f7218307c3008422d1 Reviewed-on: https://go-review.googlesource.com/125655Reviewed-by: Bryan C. Mills <bcmills@google.com>
-
Russ Cox authored
Suggested in discussion on #26366. Change-Id: Id9ad2e429a915f88b4c4b30fc415c722eebe0ea4 Reviewed-on: https://go-review.googlesource.com/125297Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Russ Cox authored
The introduction of modules has broken (intentionally) the rule that the source code for a package x/y/z is in GOPATH/src/x/y/z (or GOROOT/src/x/y/z). This breaks the code in go/build.Import, which uses that rule to find the directory for a package. In the long term, the fix is to move programs that load packages off of go/build and onto golang.org/x/tools/go/packages, which we hope will eventually become go/packages. That code invokes the go command to learn what it needs to know about where packages are. In the short term, though, there are lots of programs that use go/build and will not be able to find code in module dependencies. To help those programs, go/build now runs the go command to ask where a package's source code can be found, if it sees that modules are in use. (If modules are not in use, it falls back to the usual lookup code and does not invoke the go command, so that existing uses are unaffected and not slowed down.) Helps #24661. Fixes #26504. Change-Id: I0dac68854cf5011005c3b2272810245d81b7cc5a Reviewed-on: https://go-review.googlesource.com/125296Reviewed-by: Michael Matloob <matloob@golang.org> Reviewed-by: Bryan C. Mills <bcmills@google.com>
-
- 27 Jul, 2018 1 commit
-
-
Craig Citro authored
The net/http module added support for HTTPS proxies in CL 68550, but the Transport.Proxy docstring was never updated to reflect this. This (doc-only) update adds "https" to the list of supported schemes. Change-Id: I0570fcdae8232bb42d52c4dd739dd09ee8dfd612 Reviewed-on: https://go-review.googlesource.com/126495Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-