- 29 Sep, 2017 4 commits
-
-
Ian Lance Taylor authored
Modifying the input slice broke the new test for whether gccgo supports -fgo-importcfg, as the test passed a slice of the argument slice it was in the process of building. Fixes #22089 Change-Id: I45444a82673223c46be0c8579da3e31a74c32d73 Reviewed-on: https://go-review.googlesource.com/67191 Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Russ Cox <rsc@golang.org>
-
Marvin Stenger authored
nilcheckelim2 cleans up by copying b.Values in a loop, omitting OpUnknowns. However, the common case is that there are no OpUnknowns, in which case we can skip a lot of work. So we track the first nilcheck which was eliminated, if any, and only start copying from there. If no nilcheck was eliminated we won't copy at all. Fixes #20964 Change-Id: Icd44194cf8ac81ce6485ce257b4d33e093003a40 Reviewed-on: https://go-review.googlesource.com/65651 Run-TryBot: Cherry Zhang <cherryyz@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Cherry Zhang <cherryyz@google.com>
-
Russ Cox authored
Implement importcfg on behalf of gccgo by writing out a tree of symbolic links. In addition to keeping gccgo working with the latest changes, this also fixes a precedence bug in gccgo's cmd/go vendor support (the vendor equivalent of #14271). Change-Id: I0e5645116e1c84c957936baf22e3126ba6b0d46e Reviewed-on: https://go-review.googlesource.com/61731 Run-TryBot: Russ Cox <rsc@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: David Crawshaw <crawshaw@golang.org>
-
Russ Cox authored
This is a step toward using cached build artifacts: the importcfg will direct the compiler and linker to read them right from the cache if necessary. However, this CL does not have a cache yet, so it still reads them from the usual install location or build location. Even so, this fixes a long-standing issue that -I and -L (no longer used) are not expressive enough to describe complex GOPATH setups. Shared libraries are handled enough that all.bash passes, but there may still be more work to do here. If so, tests and fixes can be added in follow-up CLs. Gccgo will need updating to support -importcfg as well. Fixes #14271. Change-Id: I5c52a0a5df0ffbf7436e1130c74e9e24fceff80f Reviewed-on: https://go-review.googlesource.com/56279 Run-TryBot: Russ Cox <rsc@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: David Crawshaw <crawshaw@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
- 28 Sep, 2017 9 commits
-
-
Daniel Martí authored
Add the package to the table and start it off with a few small, basic functions. Inspired by CL 66331, which added flag.ro. Updates #21851. Change-Id: I3995cde1ff7bb09a718110473bed8b193c2232a5 Reviewed-on: https://go-review.googlesource.com/66990 Run-TryBot: Daniel Martí <mvdan@mvdan.cc> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ilya Tocar <ilya.tocar@intel.com> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Tim Cooper authored
Previously, a multi-line flag usage string would not be indented with the rest of the usage strings. This made long usage strings difficult to read. For example, the usage for flag.String("A", "", "1\n2\n3") would be printed as: -A 1 2 3 But will now be printed as: -A 1 2 3 Also fixes a slight error in the FlagSet.PrintDefaults documentation. Fixes #20799 Change-Id: I4379c6b7590fdb93a2809a01046a0f6ae32c3e5d Reviewed-on: https://go-review.googlesource.com/66711 Run-TryBot: Russ Cox <rsc@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Russ Cox <rsc@golang.org>
-
Daniel Martí authored
Remove an unused type, a few redundant returns and replace a few slice append loops with a single append. Change-Id: If07248180bae5631b5b152c6051d9635889997d5 Reviewed-on: https://go-review.googlesource.com/66851 Run-TryBot: Daniel Martí <mvdan@mvdan.cc> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Dave Cheney <dave@cheney.net>
-
Heschi Kreinick authored
The information that's used to generate DWARF location lists is very ssa.Value centric; it uses Values as start and end coordinates to define ranges. That mostly works fine, but control flow instructions don't come from Values, so the ranges couldn't cover them. Control flow instructions are generated when the SSA representation is converted to assembly, so that's the best place to extend the ranges to cover them. (Before that, there's nothing to refer to, and afterward the boundaries between blocks have been lost.) That requires block information in the debugInfo type, which then flows down to make everything else awkward. On the plus side, there's a little less copying slices around than there used to be, so it should be a little faster. Previously, the ranges for empty blocks were not very meaningful. That was fine, because they had no Values to cover, so no debug information was generated for them. But they do have control flow instructions (that's why they exist) and so now it's important that the information be correct. Introduce two sentinel values, BlockStart and BlockEnd, that denote the boundary of a block, even if the block is empty. BlockEnd replaces the previous SurvivedBlock flag. There's one more problem: the last instruction in the function will be a control flow instruction, so any live ranges need to be extended past it. But there's no instruction after it to use as the end of the range. Instead, leave the EndProg field of those ranges as nil and fix it up to point to past the end of the assembled text at the very last moment. Change-Id: I81f884020ff36fd6fe8d7888fc57c99412c4245b Reviewed-on: https://go-review.googlesource.com/63010Reviewed-by: Alessandro Arzilli <alessandro.arzilli@gmail.com> Reviewed-by: David Chase <drchase@google.com> Run-TryBot: Heschi Kreinick <heschi@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Matthew Dempsky authored
Currently, methods are sorted by name. This happens to guarantee that exported ASCII methods appear before non-exported ASCII methods, but this breaks down when Unicode method names are considered. Type.Method already accounts for this by always indexing into the slice returned by exportedMethods. This CL makes Value.Method do the same. Fixes #22073. Change-Id: I9bfc6bbfb7353e0bd3c439a15d1c3da60d16d209 Reviewed-on: https://go-review.googlesource.com/66770 Run-TryBot: Matthew Dempsky <mdempsky@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: David Crawshaw <crawshaw@golang.org>
-
Agniva De Sarker authored
Updated page to Page to match with the sample code Fixes #21773 Change-Id: Ia884a22fd587860c7a6148103b2b474425e45284 Reviewed-on: https://go-review.googlesource.com/66790Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Marvin Stenger authored
The function dumpbvtypes has no use case anymore, so we remove it with this change. Change-Id: I1e0323542be2bcc683b75dffde76b222e087c285 Reviewed-on: https://go-review.googlesource.com/66370Reviewed-by: Keith Randall <khr@golang.org> Run-TryBot: Keith Randall <khr@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Ian Lance Taylor authored
Updates #21856 Change-Id: I9baa51fe23e6dd2fcf9dd14f7acfaf7457571e1d Reviewed-on: https://go-review.googlesource.com/66334 Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: David Crawshaw <crawshaw@golang.org> Reviewed-by: Mikio Hara <mikioh.mikioh@gmail.com>
-
Ian Lance Taylor authored
Also changed name from TestUnix... to TestUnixgram.... Updates #21965 Change-Id: I2833110b77e9fe1b28d4a15feb3d70453ab98d3b Reviewed-on: https://go-review.googlesource.com/66333 Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Mikio Hara <mikioh.mikioh@gmail.com> Reviewed-by: Rob Pike <r@golang.org>
-
- 27 Sep, 2017 23 commits
-
-
Daniel Martí authored
Very similar fix to the one made in golang.org/cl/65655. This time it's for switches on interface values, as we look for duplicates in a different manner to keep types in mind. As before, add a small regression test. Updates #22001. Fixes #22063. Change-Id: I9a55d08999aeca262ad276b4649b51848a627b02 Reviewed-on: https://go-review.googlesource.com/66450 Run-TryBot: Daniel Martí <mvdan@mvdan.cc> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Matthew Dempsky <mdempsky@google.com>
-
Cyrill Schumacher authored
The fields wantbytes and wantraw in the test struct `conversionTest` has been forgotten to include in the TestConversions function. Change-Id: I6dab69e76de3799a1bbf9fa09a15607e55172114 Reviewed-on: https://go-review.googlesource.com/66610Reviewed-by: David Crawshaw <crawshaw@golang.org> Reviewed-by: Daniel Theophanes <kardianos@gmail.com> Run-TryBot: David Crawshaw <crawshaw@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Agniva De Sarker authored
Combined the Split and Join call with a Replace. This simplifies the code as well as makes it fast. Micro-benchmarks show good improvements - func BenchmarkJoinSplit(b *testing.B) { for n := 0; n < b.N; n++ { strings.Join(strings.Split("this string has some spaces", " "), "") } } func BenchmarkReplace(b *testing.B) { for n := 0; n < b.N; n++ { strings.Replace("this string has some spaces", " ", "", -1) } } name old time/op new time/op delta JoinSplit-4 308ns ± 2% 192ns ± 4% -37.60% (p=0.008 n=5+5) name old alloc/op new alloc/op delta JoinSplit-4 144B ± 0% 64B ± 0% -55.56% (p=0.008 n=5+5) name old allocs/op new allocs/op delta JoinSplit-4 3.00 ± 0% 2.00 ± 0% -33.33% (p=0.008 n=5+5) Change-Id: I1dc32105ae7a0be5a43ab0bedde992cefbed5d7d Reviewed-on: https://go-review.googlesource.com/66590 Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Joe Tsai authored
Adding the "https://" scheme allows godoc to properly detect the URL and provide a hyperlink for it. Change-Id: I76dc309368c86975de01bc6e6e9196037b2114d7 Reviewed-on: https://go-review.googlesource.com/66570Reviewed-by: Ian Lance Taylor <iant@golang.org> Run-TryBot: Joe Tsai <thebrokentoaster@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Matthew Dempsky authored
The reflect API normally grants only read-only access to non-exported fields, but it specially handles non-exported embedded fields so that users can still fully access promoted fields and methods. For example, if v.Field(i) refers to a non-exported embedded field, it would be limited to RO access. But if v.Field(i).Field(j) is an exported field, then the resulting Value will have full access. However, the way this was implemented allowed other operations to be interspersed between the Field calls, which could grant inappropriate access. Relatedly, Elem() is safe to use on pointer-embeddings, but it was also being allowed on embeddings of interface types. This is inappropriate because it could allow accessing methods of the dynamic value's complete method set, not just those that were promoted via the interface embedding. Fixes #22031. Fixes #22053. Change-Id: I9db9be88583f1c1d80c1b4705a76f23a4379182f Reviewed-on: https://go-review.googlesource.com/66331 Run-TryBot: Matthew Dempsky <mdempsky@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Austin Clements authored
Currently the FreeBSD CPU affinity code assumes that the maximum GOMAXPROCS is 256, but we just removed that limit. This commit rewrites the FreeBSD CPU affinity code to raise the CPU count limit to 65,536, like the Linux CPU affinity code, and to degrade more gracefully if we do somehow go over that. Change-Id: Ic4ca7f88bd8b9448aae4dbd43ef21a6c1b8fea63 Reviewed-on: https://go-review.googlesource.com/66291 Run-TryBot: Austin Clements <austin@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Austin Clements authored
allp now has length gomaxprocs, which means none of allp[i] are nil or in state _Pdead. This lets replace several different styles of loops over allp with normal range loops. for i := 0; i < gomaxprocs; i++ { ... } loops can simply range over allp. Likewise, range loops over allp[:gomaxprocs] can just range over allp. Loops that check for p == nil || p.state == _Pdead don't need to check this any more. Loops that check for p == nil don't have to check this *if* dead Ps don't affect them. I checked that all such loops are, in fact, unaffected by dead Ps. One loop was potentially affected, which this fixes by zeroing p.gcAssistTime in procresize. Updates #15131. Change-Id: Ifa1c2a86ed59892eca0610360a75bb613bc6dcee Reviewed-on: https://go-review.googlesource.com/45575 Run-TryBot: Austin Clements <austin@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Rick Hudson <rlh@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Austin Clements authored
Now that allp is dynamically allocated, there's no need for a hard cap on GOMAXPROCS. Fixes #15131. Change-Id: I53eee8e228a711a818f7ebce8d9fd915b3865eed Reviewed-on: https://go-review.googlesource.com/45574 Run-TryBot: Austin Clements <austin@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Rick Hudson <rlh@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Austin Clements authored
This makes it possible to eliminate the hard cap on GOMAXPROCS. Updates #15131. Change-Id: I4c422b340791621584c118a6be1b38e8a44f8b70 Reviewed-on: https://go-review.googlesource.com/45573 Run-TryBot: Austin Clements <austin@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Rick Hudson <rlh@golang.org>
-
Tobias Klauser authored
Correcting values is allowed per the syscall package rules, so update these constants to their correct value on ppc64/ppc64le. The values now match the corresponding constants in x/sys/unix. Update #19560 Fixes #22000 Change-Id: I1d358de345766ec96e15dfcc8911fe2f39fb0ddb Reviewed-on: https://go-review.googlesource.com/66510 Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Lynn Boger <laboger@linux.vnet.ibm.com> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Jean-Francois Cantin authored
Fixes: #22052 Change-Id: Ia056871b35ecc1a8c5ac891402fc1c5702731623 Reviewed-on: https://go-review.googlesource.com/66330 Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Ian Lance Taylor authored
Undoes this part of https://golang.org/cl/5447061 by using the OS-specific open and close functions, and adding a read function. Change-Id: If37ef43eb5df8554fc03f3922bbc2f785129bb9c Reviewed-on: https://go-review.googlesource.com/66271 Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Joe Tsai <joetsai@google.com>
-
Florian Uekermann authored
Loading and testing timezones is currently implemented using several, partly redundant, OS specific data structures and functions. This change merges most of that code into OS independent implementations. Change-Id: Iae2877c5f48d1e4a9de9ce55d0530d52e24cf96e Reviewed-on: https://go-review.googlesource.com/64391 Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Marvin Stenger authored
Remove an old comment introduced in golang.org/cl/9073. Change-Id: I14be27ddfac987f44d839920bc4d02361a576f06 Reviewed-on: https://go-review.googlesource.com/66371 Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Daniel Martí <mvdan@mvdan.cc> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Mihail Minaev authored
This change adds the ability to parse group into email address. The information about group name and group members is lost for backwards compatibility. According to this rule address `Group: Test <text@example.com>;` would be parsed into `Test <test@example.com>`. Fixes #22014 Change-Id: I6e804a62f3ede04f555a1b82500b8ca030eeb431 Reviewed-on: https://go-review.googlesource.com/66250 Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Elias Naur authored
On an iPhone 6 running iOS 11, the TestDialerDualStackFDLeak test started failing with dial durations just above the limit: FAIL: TestDialerDualStackFDLeak (0.21s) dial_test.go:90: got 101.154ms; want <= 95ms Bump the timeout on iOS. For the iOS builder. Change-Id: Id42b471e7cf7d0c84f6e83ed04b395fa1a2d449d Reviewed-on: https://go-review.googlesource.com/66491 Run-TryBot: Elias Naur <elias.naur@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Elias Naur authored
Attempting to set the SetGID bit on iOS 11 fails with a permission error. Skip the test. Change-Id: Idac59750447d668091c44fe7cc5ee178014e0e1d Reviewed-on: https://go-review.googlesource.com/66490 Run-TryBot: Elias Naur <elias.naur@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Marvin Stenger authored
The function isInGoToolsRepo has no use case anymore, so we remove it with this change. Change-Id: I71051828eef2e317b83e13f83a14d5f0bc0ec13f Reviewed-on: https://go-review.googlesource.com/66350Reviewed-by: Daniel Martí <mvdan@mvdan.cc> Run-TryBot: Daniel Martí <mvdan@mvdan.cc> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Hiroshi Ioka authored
Also, fix some error messages. Fixes #22065 Change-Id: Iac05c24b7bb128be3f43b8f2aa180b3957d5ee72 Reviewed-on: https://go-review.googlesource.com/66390 Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Hiroshi Ioka authored
Fixes #21957 Change-Id: I69ef9e257aa2b7b6c4fc4c115e99f8a7f93d8d9c Reviewed-on: https://go-review.googlesource.com/65150Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Alex Brainman authored
syscall.Exit and runtime.exit do the same thing. Why duplicate code? CL 45115 fixed bug where windows runtime.exit was correct, but syscall.Exit was broken. So CL 45115 fixed windows syscall.Exit by calling runtime.exit. Austin suggested that all OSes should do the same, and this CL implements his idea. While making changes, I discovered that nacl syscall.Exit returned error func Exit(code int) (err error) and I changed it into func Exit(code int) like all other OSes. I assumed it was a mistake and it is OK to do because cmd/api does not complain about it. Also I changed plan9 runtime.exit to accept int32 just like all other OSes do. Change-Id: I12f6022ad81406566cf9befcc6edc382eebd413b Reviewed-on: https://go-review.googlesource.com/66170 TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org> Reviewed-by: Austin Clements <austin@google.com> Reviewed-by: David du Colombier <0intro@gmail.com>
-
Marvin Stenger authored
bytes.IndexByte can be used wherever the second argument to strings.Index is exactly one byte long, so we do that with this change. This avoids generating unnecessary string symbols/converison and saves a few calls to bytes.Index. Change-Id: If31c775790e01edfece1169e398ad6a754fb4428 Reviewed-on: https://go-review.googlesource.com/66373 Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Marvin Stenger authored
strings.LastIndexByte was introduced in go1.5 and it can be used effectively wherever the second argument to strings.LastIndex is exactly one byte long. This avoids generating unnecessary string symbols and saves a few calls to strings.LastIndex. Change-Id: I7b5679d616197b055cffe6882a8675d24a98b574 Reviewed-on: https://go-review.googlesource.com/66372 Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
- 26 Sep, 2017 4 commits
-
-
Daniel Martí authored
Transport.Proxy is documented as only supporting the http and socks5 schemes. If one tries to use it for https URLs, they end up with a cryptic error like: http: TLS handshake error from [...]: tls: oversized record received with length 20037 This is because Transport simply skips TLS if Proxy is non-nil, since it knows it doesn't support Proxy with https. However, that error is very confusing and it can take a while to figure out what's going on. Instead, error if Proxy is used and it returns an unsupported scheme. Updates #19493. Change-Id: Ia036357011752f45bb9b8282a4ab5e31bc8d1a69 Reviewed-on: https://go-review.googlesource.com/66010 Run-TryBot: Daniel Martí <mvdan@mvdan.cc> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Tom Bergan <tombergan@google.com>
-
Austin Clements authored
Currently, the priority of checks in (gcTrigger).test() puts the gcpercent<0 test above gcTriggerCycle, which is used for runtime.GC(). This is an unintentional change from 1.8 and before, where runtime.GC() triggered a GC even if GOGC=off. Fix this by rearranging the priority so the gcTriggerCycle test executes even if gcpercent < 0. Fixes #22023. Change-Id: I109328d7b643b6824eb9d79061a9e775f0149575 Reviewed-on: https://go-review.googlesource.com/65994 Run-TryBot: Austin Clements <austin@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Rick Hudson <rlh@golang.org>
-
Ian Lance Taylor authored
This permits the program to reliably know that when the Close method returns, the descriptor has definitely been closed. This matters at least for listeners. Fixes #21856 Updates #7970 Change-Id: I1fd0cfd2333649e6e67c6ae956e19fdff3a35a83 Reviewed-on: https://go-review.googlesource.com/66150 Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Joe Tsai <joetsai@google.com>
-
Giovanni Bajo authored
The previous comment of nextSample didn't mention Poisson processes, which is the reason why it needed to create an exponential distribution, so it was hard to follow the reasoning for people not highly familiar with statistics. Since we're at it, we also make it clear that we are just creating a random number with exponential distribution by moving the bulk of the function into a new fastexprand(). No functional changes. Change-Id: I9c275e87edb3418ee0974257af64c73465028ad7 Reviewed-on: https://go-review.googlesource.com/65657Reviewed-by: Austin Clements <austin@google.com> Run-TryBot: Austin Clements <austin@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org>
-