summaryrefslogtreecommitdiff
path: root/src/cmd
Commit message (Collapse)AuthorAgeFilesLines
* [dev.inline] cmd/compile: parse source files concurrentlydev.inlineMatthew Dempsky2017-01-133-69/+85
| | | | | | | | | | Conversion to Nodes still happens sequentially at the moment. Change-Id: I3407ba0711b8b92e22ece0a06fefaff863c3ccc9 Reviewed-on: https://go-review.googlesource.com/35126 Run-TryBot: Matthew Dempsky <mdempsky@google.com> Reviewed-by: Robert Griesemer <gri@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
* [dev.inline] cmd/compile: reorganize file parsing logicMatthew Dempsky2017-01-132-16/+22
| | | | | | | | | | Preparation for concurrent parsing. No behavior change. Change-Id: Ic1ec45fc3cb316778c29065cf055c82e92ffa874 Reviewed-on: https://go-review.googlesource.com/35125 Reviewed-by: Robert Griesemer <gri@golang.org> Run-TryBot: Matthew Dempsky <mdempsky@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org>
* [dev.inline] cmd/compile: split mkpackage into separate functionsMatthew Dempsky2017-01-133-47/+49
| | | | | | | | | | | | Previously, mkpackage jumbled together three unrelated tasks: handling package declarations, clearing imports from processing previous source files, and assigning a default value to outfile. Change-Id: I1e124335768aeabfd1a6d9cc2499fbb980d951cf Reviewed-on: https://go-review.googlesource.com/35124 Reviewed-by: Robert Griesemer <gri@golang.org> Run-TryBot: Matthew Dempsky <mdempsky@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org>
* [dev.inline] cmd/internal/obj: remove vestiges of LineHist - not used anymoreRobert Griesemer2017-01-095-250/+7
| | | | | | | | | Change-Id: I9d3fcdd5b002953fa9d2f001bf7a834073443794 Reviewed-on: https://go-review.googlesource.com/34722 TryBot-Result: Gobot Gobot <gobot@golang.org> Run-TryBot: Robert Griesemer <gri@golang.org> Reviewed-by: Austin Clements <austin@google.com> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
* [dev.inline] cmd/internal/src: introduce compact source position representationRobert Griesemer2017-01-0942-163/+313
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | XPos is a compact (8 instead of 16 bytes on a 64bit machine) source position representation. There is a 1:1 correspondence between each XPos and each regular Pos, translated via a global table. In some sense this brings back the LineHist, though positions can track line and column information; there is a O(1) translation between the representations (no binary search), and the translation is factored out. The size increase with the prior change is brought down again and the compiler speed is in line with the master repo (measured on the same "quiet" machine as for prior change): name old time/op new time/op delta Template 256ms ± 1% 262ms ± 2% ~ (p=0.063 n=5+4) Unicode 132ms ± 1% 135ms ± 2% ~ (p=0.063 n=5+4) GoTypes 891ms ± 1% 871ms ± 1% -2.28% (p=0.016 n=5+4) Compiler 3.84s ± 2% 3.89s ± 2% ~ (p=0.413 n=5+4) MakeBash 47.1s ± 1% 46.2s ± 2% ~ (p=0.095 n=5+5) name old user-ns/op new user-ns/op delta Template 309M ± 1% 314M ± 2% ~ (p=0.111 n=5+4) Unicode 165M ± 1% 172M ± 9% ~ (p=0.151 n=5+5) GoTypes 1.14G ± 2% 1.12G ± 1% ~ (p=0.063 n=5+4) Compiler 5.00G ± 1% 4.96G ± 1% ~ (p=0.286 n=5+4) Change-Id: Icc570cc60ab014d8d9af6976f1f961ab8828cc47 Reviewed-on: https://go-review.googlesource.com/34506 Run-TryBot: Robert Griesemer <gri@golang.org> Reviewed-by: Matthew Dempsky <mdempsky@google.com> Reviewed-by: Austin Clements <austin@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org>
* [dev.inline] cmd/internal/src: replace src.Pos with syntax.PosRobert Griesemer2017-01-0938-390/+372
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This replaces the src.Pos LineHist-based position tracking with the syntax.Pos implementation and updates all uses. The LineHist table is not used anymore - the respective code is still there but should be removed eventually. CL forthcoming. Passes toolstash -cmp when comparing to the master repo (with the exception of a couple of swapped assembly instructions, likely due to different instruction scheduling because the line-based sorting has changed; though this is won't affect correctness). The sizes of various important compiler data structures have increased significantly (see the various sizes_test.go files); this is probably the reason for an increase of compilation times (to be addressed). Here are the results of compilebench -count 5, run on a "quiet" machine (no apps running besides a terminal): name old time/op new time/op delta Template 256ms ± 1% 280ms ±15% +9.54% (p=0.008 n=5+5) Unicode 132ms ± 1% 132ms ± 1% ~ (p=0.690 n=5+5) GoTypes 891ms ± 1% 917ms ± 2% +2.88% (p=0.008 n=5+5) Compiler 3.84s ± 2% 3.99s ± 2% +3.95% (p=0.016 n=5+5) MakeBash 47.1s ± 1% 47.2s ± 2% ~ (p=0.841 n=5+5) name old user-ns/op new user-ns/op delta Template 309M ± 1% 326M ± 2% +5.18% (p=0.008 n=5+5) Unicode 165M ± 1% 168M ± 4% ~ (p=0.421 n=5+5) GoTypes 1.14G ± 2% 1.18G ± 1% +3.47% (p=0.008 n=5+5) Compiler 5.00G ± 1% 5.16G ± 1% +3.12% (p=0.008 n=5+5) Change-Id: I241c4246cdff627d7ecb95cac23060b38f9775ec Reviewed-on: https://go-review.googlesource.com/34273 Run-TryBot: Robert Griesemer <gri@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Matthew Dempsky <mdempsky@google.com>
* [dev.inline] cmd/compile/internal/syntax: add predicates to syntax.PosRobert Griesemer2016-12-102-4/+68
| | | | | | | | | | | This moves syntax.Pos closer to cmd/internal/src.Pos so that we can more easily replace src.Pos with syntax.Pos going forward. Change-Id: I9f93a65fecb4c22591edca4b9d6cda39cf0e872e Reviewed-on: https://go-review.googlesource.com/34270 Run-TryBot: Robert Griesemer <gri@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Matthew Dempsky <mdempsky@google.com>
* [dev.inline] cmd/compile/internal/syntax: add tests for //line directivesRobert Griesemer2016-12-093-11/+46
| | | | | | | | Change-Id: I77dc73bfe79e43bbadf85d7eb3c5f8990ec72023 Reviewed-on: https://go-review.googlesource.com/34248 Run-TryBot: Robert Griesemer <gri@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Matthew Dempsky <mdempsky@google.com>
* [dev.inline] cmd/compile/internal/syntax: report byte offset rather then ↵Robert Griesemer2016-12-094-72/+81
| | | | | | | | | | | | | | | rune count for column value This will only become user-visible if error messages show column information. Per the discussion in #10324. For #10324. Change-Id: I5959c1655aba74bb1a22fdc261cd728ffcfa6912 Reviewed-on: https://go-review.googlesource.com/34244 Run-TryBot: Robert Griesemer <gri@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Matthew Dempsky <mdempsky@google.com>
* [dev.inline] cmd/internal/obj: rename Prog.Lineno to Prog.PosDavid Lazar2016-12-0916-80/+80
| | | | | | | | Change-Id: I7585d85907869f5a286b36936dfd035f1e8e9906 Reviewed-on: https://go-review.googlesource.com/34197 Run-TryBot: David Lazar <lazard@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Austin Clements <austin@google.com>
* [dev.inline] cmd/internal/obj: use src.Pos in obj.ProgDavid Lazar2016-12-096-13/+14
| | | | | | | | | | | | This will let us use the src.Pos struct to thread inlining information through to obj. Change-Id: I96a16d3531167396988df66ae70f0b729049cc82 Reviewed-on: https://go-review.googlesource.com/34195 Run-TryBot: David Lazar <lazard@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Robert Griesemer <gri@golang.org> Reviewed-by: Austin Clements <austin@google.com>
* [dev.inline] cmd/compile/internal/syntax: remove gcCompat uses in scannerRobert Griesemer2016-12-093-32/+25
| | | | | | | | | | | | | - make the scanner unconditionally gc compatible - consistently use "invalid" instead "illegal" in errors Reviewed in and cherry-picked from https://go-review.googlesource.com/#/c/33896/. Change-Id: I4c4253e7392f3311b0d838bbe503576c9469b203 Reviewed-on: https://go-review.googlesource.com/34237 Run-TryBot: Robert Griesemer <gri@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Matthew Dempsky <mdempsky@google.com>
* [dev.inline] cmd/compile/internal/syntax: use syntax.Pos for all external ↵Robert Griesemer2016-12-098-64/+93
| | | | | | | | | | | | | | | | | | | positions - use syntax.Pos in syntax.Error (rather than line, col) - use syntax.Pos in syntax.PragmaHandler (rather than just line) - update uses - better documentation in various places Also: - make Pos methods use Pos receiver (rather than *Pos) Reviewed in and cherry-picked from https://go-review.googlesource.com/#/c/33891/. With minor adjustments to noder.go to make merge compile. Change-Id: I5507cea6c2be46a7677087c1aeb69382d31033eb Reviewed-on: https://go-review.googlesource.com/34236 Reviewed-by: Matthew Dempsky <mdempsky@google.com>
* [dev.inline] cmd/compile/internal/syntax: clean up error and pragma handlingRobert Griesemer2016-12-094-102/+128
| | | | | | | | | | | | | | | | | | | | | | | | | Reviewed in and cherry-picked from https://go-review.googlesource.com/#/c/33873/. - simplify error handling in source.go (move handling of first error into parser, where it belongs) - clean up error handling in scanner.go - move pragma and position base handling from scanner to parser where it belongs - have separate error methods in parser to avoid confusion with handlers from scanner.go and source.go - (source.go) and (scanner.go, source.go, tokens.go) may be stand-alone packages if so desired, which means these files are now less entangled and easier to maintain Change-Id: I81510fc7ef943b78eaa49092c0eab2075a05878c Reviewed-on: https://go-review.googlesource.com/34235 Reviewed-by: Matthew Dempsky <mdempsky@google.com> Run-TryBot: Robert Griesemer <gri@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
* [dev.inline] cmd/compile/internal/syntax: simplified position codeRobert Griesemer2016-12-094-66/+53
| | | | | | | | | | Reviewed in and cherry-picked from https://go-review.googlesource.com/#/c/33805/. Change-Id: I859d9bd5f2256ca78f7b24b330290f7ae600854d Reviewed-on: https://go-review.googlesource.com/34234 Reviewed-by: Matthew Dempsky <mdempsky@google.com> Run-TryBot: Robert Griesemer <gri@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
* [dev.inline] cmd/compile/internal/syntax: process //line pragmas in scannerRobert Griesemer2016-12-098-43/+78
| | | | | | | | | | | | Reviewed in and cherry-picked from https://go-review.googlesource.com/#/c/33764/. Minor adjustment in noder.go to make merge compile again. Change-Id: Ib5029b52b59944f207b0f2438c8a5aa576eb25b8 Reviewed-on: https://go-review.googlesource.com/34233 Run-TryBot: Robert Griesemer <gri@golang.org> Reviewed-by: Matthew Dempsky <mdempsky@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org>
* [dev.inline] cmd/compile/internal/syntax: introduce general position info ↵Robert Griesemer2016-12-0911-114/+383
| | | | | | | | | | | for nodes Reviewed in and cherry-picked from https://go-review.googlesource.com/#/c/33758/. Minor adjustments in noder.go to fix merge. Change-Id: Ibe429e327c7f8554f8ac205c61ce3738013aed98 Reviewed-on: https://go-review.googlesource.com/34231 Reviewed-by: Matthew Dempsky <mdempsky@google.com>
* [dev.inline] cmd/internal/src: introduce NoPos and use it instead Pos{}Robert Griesemer2016-12-0911-21/+24
| | | | | | | | | | | | | Using a variable instead of a composite literal makes the code independent of implementation changes of Pos. Per David Lazar's suggestion. Change-Id: I336967ac12a027c51a728a58ac6207cb5119af4a Reviewed-on: https://go-review.googlesource.com/34148 Run-TryBot: Robert Griesemer <gri@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Matthew Dempsky <mdempsky@google.com>
* [dev.inline] cmd/compile/internal/ssa: another round of renames from line -> ↵Robert Griesemer2016-12-084-121/+119
| | | | | | | | | | | | pos (cleanup) Mostly mechanical renames. Make variable names consistent with use. Change-Id: Iaa89d31deab11eca6e784595b58e779ad525c8a3 Reviewed-on: https://go-review.googlesource.com/34146 Run-TryBot: Robert Griesemer <gri@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Keith Randall <khr@golang.org>
* [dev.inline] cmd/compile/internal/ssa: rename various fields from Line to PosRobert Griesemer2016-12-0841-4383/+4383
| | | | | | | | This is a mostly mechanical rename followed by manual fixes where necessary. Change-Id: Ie5c670b133db978f15dc03e50dc2da0c80fc8842 Reviewed-on: https://go-review.googlesource.com/34137 Reviewed-by: David Lazar <lazard@golang.org>
* [dev.inline] cmd/compile: rename various fields from Lineno to PosRobert Griesemer2016-12-0828-155/+155
| | | | | | | | Various minor adjustments. Change-Id: Iedfb97989f7bedaa3e9e8993b167e05f162434a7 Reviewed-on: https://go-review.googlesource.com/34136 Reviewed-by: David Lazar <lazard@golang.org>
* [dev.inline] cmd/internal/src: make Pos implementation abstractRobert Griesemer2016-12-0836-93/+123
| | | | | | | | | | Adjust cmd/compile accordingly. This will make it easier to replace the underlying implementation. Change-Id: I33645850bb18c839b24785b6222a9e028617addb Reviewed-on: https://go-review.googlesource.com/34133 Reviewed-by: David Lazar <lazard@golang.org>
* [dev.inline] cmd/compile: introduce cmd/internal/src.Pos type for line numbersRobert Griesemer2016-12-0827-132/+181
| | | | | | | | | | | | | | This is a step toward chosing a different position representation. By introducing an explicit type, it will be easier to make the transition step-wise while ensuring everything keeps running. This has been reviewed via https://go-review.googlesource.com/#/c/34025/. Change-Id: Ibceddcd62d8f346321ac3250e3940e9c436ed684 Reviewed-on: https://go-review.googlesource.com/34132 Run-TryBot: Robert Griesemer <gri@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: David Lazar <lazard@golang.org>
* cmd/go: ensure streaming test's stdout, stderr are same as cmd/go'sBrad Fitzpatrick2016-12-074-11/+96
| | | | | | | | Fixes #18153 Change-Id: Ie8a32dd6fe306f00e51cde77dd4ea353f7109940 Reviewed-on: https://go-review.googlesource.com/34010 Reviewed-by: Ian Lance Taylor <iant@golang.org>
* cmd/link: hash packages after loading all symbolsDavid Crawshaw2016-12-063-13/+37
| | | | | | | | | | | | | Conditioning on the plugin.Open symbol existing before loading all symbols means sometimes some packages don't have a hash value. Fixes #17928 Change-Id: I2722449aa58eca08a25117d3ce976f11f805b5ac Reviewed-on: https://go-review.googlesource.com/33925 Run-TryBot: David Crawshaw <crawshaw@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
* cmd/compile: fix static-initialization compilation failureMatthew Dempsky2016-12-061-1/+3
| | | | | | | | | | | Fixes #13263. Change-Id: Ie1cafc62b6bfe6c5381c35d9a95563267b4cc9b0 Reviewed-on: https://go-review.googlesource.com/33970 Reviewed-by: Robert Griesemer <gri@golang.org> Reviewed-by: Emmanuel Odeke <emm.odeke@gmail.com> Run-TryBot: Matthew Dempsky <mdempsky@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org>
* cmd/compile: find last StoreWB explicitlyCherry Zhang2016-12-054-16/+82
| | | | | | | | | | | | | | | | In writebarrier phase, a chain of StoreWBs is rewritten to branchy code to invoke write barriers, and the last store in the chain is spliced into a Phi op to join the memory of the two branches. We must find the last store explicitly, since the values are not scheduled and they may not come in dependency order. Fixes #18169. Change-Id: If547e3c562ef0669bc5622c1bb711904dc36314d Reviewed-on: https://go-review.googlesource.com/33915 Run-TryBot: Cherry Zhang <cherryyz@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Keith Randall <khr@golang.org>
* cmd/go: give useful error when msan isn't supportedDhananjay Nakrani2016-12-041-0/+4
| | | | | | | | | | | Fixes #18180. Change-Id: I7006fe6cf08139e5aaaf35412b962a4e82109f59 Reviewed-on: https://go-review.googlesource.com/33898 Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Reviewed-by: Josh Bleecher Snyder <josharian@gmail.com> Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
* cmd/dist: remove special test timeout scale for WindowsBrad Fitzpatrick2016-12-031-1/+1
| | | | | | | | | | | | | | | In https://golang.org/cl/33804 I screwed up a GOOS == "windows" check into a bogus comparison against GOARCH == "windows". But turns out the builders are happy anyway, so remove the windows special case. Change-Id: I820b1d49d5b3e8cbffe4516fc39f514326dc39f8 Reviewed-on: https://go-review.googlesource.com/33893 Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Minux Ma <minux@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
* cmd/go: add missing newline at end of error messageJosh Bleecher Snyder2016-12-031-1/+1
| | | | | | | | Change-Id: I9277e869e171d9e051ff9a70ac578b8127fa74f8 Reviewed-on: https://go-review.googlesource.com/33897 Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
* cmd/link: don't overalign ELF reloc sectionsIan Lance Taylor2016-12-022-0/+16
| | | | | | | | | | | | | | | Internal linking on an ELF system creates two reloc sections, which must be adjacent. The default is to base section alignment on the section size, but doing that for ELF reloc sections can introduce a gap. Set the reloc section alignment explicitly to avoid that. Fixes #18044. Change-Id: I8ccc131e60937d30c5f715a34c7803258833fc2f Reviewed-on: https://go-review.googlesource.com/33872 Run-TryBot: Ian Lance Taylor <iant@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
* cmd/compile/internal/syntax: remove dead type declarationRobert Griesemer2016-12-021-2/+0
| | | | | | | | Change-Id: I8a3ce0fa513ff943009c5669531132cd23ecf155 Reviewed-on: https://go-review.googlesource.com/33870 Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
* cmd/dist: adjust default timeout scale for mipsBrad Fitzpatrick2016-12-011-1/+4
| | | | | | | | Per recommendation from imgtec.com folk. Change-Id: I9b6f30572f257acce59842ac55362f52fe36c5ab Reviewed-on: https://go-review.googlesource.com/33804 Reviewed-by: Ian Lance Taylor <iant@golang.org>
* cmd/go: check MustHaveExternalNetwork before `go get` testsIan Lance Taylor2016-12-011-6/+8
| | | | | | | | | | | Also change a couple of `go get` tests to use MustHaveExternalNetwork rather than checking testing.Short. Change-Id: I98ccc05b8b0354f1b7486e28dac5f8341c342a07 Reviewed-on: https://go-review.googlesource.com/33802 Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
* cmd/internal/obj: rename obj.go to line.goMatthew Dempsky2016-12-011-0/+0
| | | | | | | | | | This file is entirely about the implementation of LineHist, and I can never remember which generic filename in cmd/internal/obj has it. Rename to line.go to match the already existing line_test.go. Change-Id: Id01f3339dc550c9759569d5610d808b17bca44d0 Reviewed-on: https://go-review.googlesource.com/33803 Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
* cmd/compile: correctly parse //line filename:line where filename contains ':'Robert Griesemer2016-12-011-2/+3
| | | | | | | | | | | | This was a regression from 1.7. See the issue for details. Fixes #18149. Change-Id: Ic8f5a35d14edf9254b1275400316cff7aff32a27 Reviewed-on: https://go-review.googlesource.com/33799 Run-TryBot: Robert Griesemer <gri@golang.org> Reviewed-by: Matthew Dempsky <mdempsky@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org>
* cmd/compile: generate frame pointers for otherwise frameless functionsKeith Randall2016-12-014-4/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | func f() { g() } We mistakenly don't add a frame pointer for f. This means f isn't seen when walking the frame pointer linked list. That matters for kernel-gathered profiles, and is an impediment for issues like #16638. To fix, allocate a stack frame even for otherwise frameless functions like f. It is a bit tricky because we need to avoid some runtime internals that really, really don't want one. No test at the moment, as only kernel CPU profiles would catch it. Tests will come with the implementation of #16638. Fixes #18103 Change-Id: I411206cc9de4c8fdd265bee2e4fa61d161ad1847 Reviewed-on: https://go-review.googlesource.com/33754 Run-TryBot: Keith Randall <khr@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Austin Clements <austin@google.com>
* cmd/compile: do not inline functions marked cgo_unsafe_argsDavid Lazar2016-12-011-0/+6
| | | | | | | | | | Now the net tests pass with -gcflags '-l=4'. Fixes #18125. Change-Id: I4e3a46eb0cb3a93b203e74f5bc99c5822331f535 Reviewed-on: https://go-review.googlesource.com/33722 Reviewed-by: Keith Randall <khr@golang.org>
* cmd/objdump: copy gosym.PCValue into internal packageKeith Randall2016-12-011-2/+49
| | | | | | | | | | ... so we don't have to export gosym.PCValue. Change-Id: Ie8f196d5e5ab63e3e69d1d7b4bfbbf32b7b5e4f5 Reviewed-on: https://go-review.googlesource.com/33791 Run-TryBot: Keith Randall <khr@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
* cmd/go: hide the "TERM" environment variable from "go bug"Mohit Agarwal2016-12-011-1/+5
| | | | | | | | | | Fixes #18128 Change-Id: I5530c9d774a1e398cd759a05bbf308e6e42f0007 Reviewed-on: https://go-review.googlesource.com/33810 Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
* cmd/dist: add -check-armv6k command to check for ARMv6KShenghou Ma2016-12-015-0/+27
| | | | | | | | | | | | | so that our release note can reference a simple command to check if the processor implements ARMv6K or not. Updates #17082. Change-Id: I9ca52051e5517394a7cd6b778fb822c3ee435f84 Reviewed-on: https://go-review.googlesource.com/33686 Run-TryBot: Minux Ma <minux@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
* api: promote next.txt to go1.8.txt, update go toolgo1.8beta1Chris Broadfoot2016-12-011-1/+1
| | | | | | Change-Id: I37f2893ce14009efe095aac3bc811d650c66bf2a Reviewed-on: https://go-review.googlesource.com/33761 Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
* cmd/cgo: fix cgo checking when fetching errno valueIan Lance Taylor2016-12-011-18/+33
| | | | | | | | | | Fixes #18126. Change-Id: I7ae090945ef203673b06eb94817cc5c894b5eadc Reviewed-on: https://go-review.googlesource.com/33752 Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
* cmd/go: document GOPATH default exceptionRuss Cox2016-11-302-2/+4
| | | | | | | | | | Doesn't get defaulted if $HOME/go is a GOROOT. Change-Id: I6ac8211a74029e4ad70a50f6e7884a039a27ab05 Reviewed-on: https://go-review.googlesource.com/33720 Run-TryBot: Russ Cox <rsc@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
* doc, cmd/go: adjust documentation for default GOPATHRuss Cox2016-11-302-12/+16
| | | | | | | | | | | Replaces CL 33356. Fixes #17262. Change-Id: Idfb2343e90771775e51a66c63760f458737a288c Reviewed-on: https://go-review.googlesource.com/33730 Run-TryBot: Russ Cox <rsc@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
* cmd/compile: generate code that type checks when inlining variadic functionsDavid Lazar2016-11-301-3/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This fixes a bug in -l=3 or higher. To inline a variadic function, the compiler generates code that constructs a slice of arguments for the variadic parameter. Consider the function func Foo(xs ...string) and the call Foo("hello", "world"). To inline the call to Foo, the compiler used to generate xs := [2]string{"hello", "world"}[:] which doesn't type check: invalid operation [2]string literal[:] (slice of unaddressable value). Now, the compiler generates xs := []string{"hello", "world"} which does type check. Fixes #18116. Change-Id: I0ee531ef2e6cc276db6fb12602b25a46d6d5db21 Reviewed-on: https://go-review.googlesource.com/33671 Reviewed-by: Keith Randall <khr@golang.org>
* cmd/compile/internal/gc: document variables and functionsKevin Burke2016-11-303-0/+10
| | | | | | Change-Id: I01b2278eb50585331b8ff7ff5e3c1f9c5ba52b63 Reviewed-on: https://go-review.googlesource.com/33156 Reviewed-by: Matthew Dempsky <mdempsky@google.com>
* cmd/compile/internal/syntax: remove unused node fieldRobert Griesemer2016-11-291-1/+2
| | | | | | | | | | | | The doc field is not yet used - remove it for now (we may end up with a different solution for 1.9). This reduces memory consumption for parsing all of std lib by about 40MB and makes parsing slightly faster. Change-Id: Iafb00b9c7f1be9c66fdfb29096d3da5049b2fcf5 Reviewed-on: https://go-review.googlesource.com/33661 Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Reviewed-by: Matthew Dempsky <mdempsky@google.com>
* cmd/go: report position info in package errorsDhananjay Nakrani2016-11-292-21/+18
| | | | | | | | | | | | Also refactor common position filling code into a function. Fixes #18011 Change-Id: I76528626da67a7309193fa92af1e361c8e2fcf84 Reviewed-on: https://go-review.googlesource.com/33631 Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
* cmd/compile: don't panic on syntax error in select statementRobert Griesemer2016-11-291-17/+12
| | | | | | | | | | Fixes #18092. Change-Id: I54e2da2e0f168c068f5e4a1b22ba508d78259168 Reviewed-on: https://go-review.googlesource.com/33658 TryBot-Result: Gobot Gobot <gobot@golang.org> Run-TryBot: Robert Griesemer <gri@golang.org> Reviewed-by: Matthew Dempsky <mdempsky@google.com>