1
0
mirror of https://github.com/golang/go synced 2024-11-15 01:50:28 -07:00
Commit Graph

30944 Commits

Author SHA1 Message Date
Michael Hudson-Doyle
1ec64e9b63 cmd/compile, runtime: a different approach to duplicate itabs
golang.org/issue/17594 was caused by additab being called more than once for
an itab. golang.org/cl/32131 fixed that by making the itabs local symbols,
but that in turn causes golang.org/issue/18252 because now there are now
multiple itab symbols in a process for a given (type,interface) pair and
different code paths can end up referring to different itabs which breaks
lots of reflection stuff. So this makes itabs global again and just takes
care to only call additab once for each itab.

Fixes #18252

Change-Id: I781a193e2f8dd80af145a3a971f6a25537f633ea
Reviewed-on: https://go-review.googlesource.com/34173
Run-TryBot: Michael Hudson-Doyle <michael.hudson@canonical.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: David Crawshaw <crawshaw@golang.org>
2016-12-19 01:31:59 +00:00
Joe Tsai
1106512db5 path/filepath: deprecate HasPrefix
Use the new "Deprecated:" syntax for all instances of HasPrefix.
This is a follow-up to http://golang.org/cl/28413 which only modified path_unix.go.

In this CL, we avoid mentioning that strings.HasPrefix should be used since
that function is still subtly wrong in security applications.

See http://golang.org/cl/5712045 for more information.

Fixes #18355

Change-Id: I0d0306152cd0b0ea5110774c2c78117515b9f5cd
Reviewed-on: https://go-review.googlesource.com/34554
Run-TryBot: Joe Tsai <thebrokentoaster@gmail.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2016-12-16 22:30:12 +00:00
Austin Clements
61db2e4efa runtime: cross-reference _func type better
It takes me several minutes every time I want to find where the linker
writes out the _func structures. Add some comments to make this
easier.

Change-Id: Ic75ce2786ca4b25726babe3c4fe9cd30c85c34e2
Reviewed-on: https://go-review.googlesource.com/34390
Reviewed-by: Ian Lance Taylor <iant@golang.org>
2016-12-16 17:03:25 +00:00
Kevin Burke
1716add3dc runtime/pprof: fix spelling in test
Change-Id: Id10e41fe396156106f63a4b29d673b31bea5358f
Reviewed-on: https://go-review.googlesource.com/34551
Reviewed-by: Ian Lance Taylor <iant@golang.org>
2016-12-16 16:09:13 +00:00
Mikio Hara
7799022cdd net: clarify IP.IsGlobalUnicast docs
Fixes #18181.

Change-Id: I5eed99dfb7b013aa4d4e668e95a97f5bb643d307
Reviewed-on: https://go-review.googlesource.com/34531
Run-TryBot: Mikio Hara <mikioh.mikioh@gmail.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2016-12-16 15:35:55 +00:00
Ian Lance Taylor
ecc4474341 runtime/pprof: deflake tests for heavily loaded systems
In the sampling tests, let the test pass if we get at least 10 samples.

Fixes #18332.

Change-Id: I8aad083d1a0ba179ad6663ff43f6b6b3ce1e18cd
Reviewed-on: https://go-review.googlesource.com/34507
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2016-12-16 15:17:36 +00:00
Ian Lance Taylor
115e9cac80 misc/cgo/testsanitizer: don't run msan tests if msan doesn't work
Confirm that a trivial executable can build and execute using
-fsanitize=memory.

Fixes #18335 (by skipping the tests when they don't work).

Change-Id: Icb7a276ba7b57ea3ce31be36f74352cc68dc89d5
Reviewed-on: https://go-review.googlesource.com/34505
Run-TryBot: Ian Lance Taylor <iant@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2016-12-16 01:45:03 +00:00
Bryan C. Mills
29cb72154d runtime: preserve callee-saved C registers in sigtramp
This fixes Linux and the *BSD platforms on 386/amd64.

A few OS/arch combinations were already saving registers and/or doing
something that doesn't clearly resemble the SysV C ABI; those have
been left alone.

Fixes #18328.

Change-Id: I6398f6c71020de108fc8b26ca5946f0ba0258667
Reviewed-on: https://go-review.googlesource.com/34501
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
2016-12-15 23:41:06 +00:00
Brad Fitzpatrick
c1d449c42c net/http: deflake TestServerTimeouts maybe
I haven't been able to reproduce this one, but change a few suspect
things in this test. Notably, using the global "Get" function and thus
using the DefaultTransport was buggy in a parallel test. Then add some error
checks and close a TCP connection.

Hopefully the failure wasn't timing-related.

Fixes #18036 (I hope)

Change-Id: I4904e42e40b26d488cf82111424a1d4d46f42dae
Reviewed-on: https://go-review.googlesource.com/34490
Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
2016-12-15 23:32:24 +00:00
Vladimir Stefanovic
0cd2bf4f98 test: add mipsx case to nosplit.go
Change-Id: I496bceacb6b3f417e36dc725d988b12c59a200d5
Reviewed-on: https://go-review.googlesource.com/34412
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
2016-12-15 22:43:28 +00:00
Ian Lance Taylor
6e542dce21 test: add test gcc78763.go that caused a gccgo compiler crash
Change-Id: I0d990d494ee8eebfc804b526f5ced71944572b4d
Reviewed-on: https://go-review.googlesource.com/34491
Run-TryBot: Ian Lance Taylor <iant@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
2016-12-15 22:42:33 +00:00
Chris Broadfoot
9cd3c0662a api: add openbsd syscall constants
Change-Id: I3ec00dac5e7d0e6dcafb7d65851bc53e0661c2b6
Reviewed-on: https://go-review.googlesource.com/34500
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2016-12-15 20:06:07 +00:00
Chris Broadfoot
651d392308 net/http: update bundled http2
Updates bundled x/net/http2 to git rev 1195a05d for:

    http2: fix incorrect panic
    https://golang.org/cl/34498

    http2: fix race in writePushPromise
    https://golang.org/cl/34493

    http2: speed up TestTransportFlowControl in short mode
    https://golang.org/cl/33241

    http2: don't flush a stream's write queue in sc.resetStream
    https://golang.org/cl/34238

    http2: allow Transport to connect to https://[v6literal]/ without port
    https://golang.org/cl/34143

    http2: log Framer reads and writes when a server test fails
    https://golang.org/cl/34130

Updates #18326
Updates #18273
Updates #18111
Updates #18248
Updates #18235

Change-Id: I18c7a297fc94d6a843284efcfc43e0fdab9b5f41
Reviewed-on: https://go-review.googlesource.com/34495
Run-TryBot: Chris Broadfoot <cbro@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2016-12-15 19:56:13 +00:00
Chris Broadfoot
94e0f06fbc doc/help: tweak descriptions, make official channels clearer
Change-Id: I5c8df05a25421489ec5122de85dbda756483c536
Reviewed-on: https://go-review.googlesource.com/34289
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2016-12-15 18:17:32 +00:00
Vladimir Stefanovic
92fb0a00c2 misc/cgo/test: add mipsx test case for #9400
Change-Id: I7d0bc5093943b0744d865e91517ff6292f3b2f89
Reviewed-on: https://go-review.googlesource.com/34510
Run-TryBot: Cherry Zhang <cherryyz@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Cherry Zhang <cherryyz@google.com>
2016-12-15 17:05:29 +00:00
Vladimir Stefanovic
01b006fc18 test/fixedbugs: add mipsx case to issue11656
Change-Id: Ifcbd2ea19fc7fa832cd88aa857a5704c32eb4765
Reviewed-on: https://go-review.googlesource.com/34511
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
2016-12-15 16:57:20 +00:00
Mikio Hara
34bd7d5d4b net: fix comment on IPv4bcast
In Go 1.8, almost all the platforms except NaCl provide network
interface and address identification and applications can use IPv4
limited or directed broadcast addresses appropriately.

Fixes #18176.

Change-Id: Ie5de834d19c0aaeb4128a3ca655f6c4c9ae5e501
Reviewed-on: https://go-review.googlesource.com/34435
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2016-12-15 15:35:21 +00:00
Raul Silvera
7e4ef4ebfc cmd/pprof: search for sample types in profile
Search the sample types in the profile being processed to map
sample type options to indices in the profile sample type array.

Previously these were hardcoded, which caused issues when the
sample types for a profile type changed. For instance, this was
triggered by the native generation of profiles in profile.proto
format.

This fixes #18230. A similar mechanism already exists on the upstream
pprof.

Change-Id: I945d8d842a0c2ca14299dabefe83124746ecd7e2
Reviewed-on: https://go-review.googlesource.com/34382
Reviewed-by: Michael Matloob <matloob@golang.org>
2016-12-15 14:55:37 +00:00
Mikio Hara
6f5a77bf5f net: fix ParseCIDR docs
This change replaces the remaining use of "mask" with "prefix length"
and uses IPv4 reserved address blocks for documentation.

UPdates #15228.
Updates #18175.

Change-Id: I56c4f1205821c64f3195b023ad515b9d54e33f64
Reviewed-on: https://go-review.googlesource.com/34431
Run-TryBot: Mikio Hara <mikioh.mikioh@gmail.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2016-12-15 08:40:28 +00:00
David Crawshaw
c1ada22bc1 cmd/go, plugin: disable plugins on darwin
We are seeing a bad stack map in #18190. In a copystack, it is
mistaking a slot for a pointer.

Presumably this is caused either by our fledgling dynlink support on
darwin, or a consequence of having two copies of the runtime in the
process. But I have been unable to work out which in the 1.8 window,
so pushing darwin support to 1.9 or later.

Change-Id: I7fa4d2dede75033d9a428f24c1837a4613bd2639
Reviewed-on: https://go-review.googlesource.com/34391
Reviewed-by: Ian Lance Taylor <iant@golang.org>
2016-12-15 05:46:20 +00:00
Kevin Burke
2adc2d1b8b net: fix typo
Change-Id: Icef8a21654a248666c684d5b10d0337c544ddb25
Reviewed-on: https://go-review.googlesource.com/34388
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2016-12-15 04:48:38 +00:00
Cherry Zhang
3444e5b355 runtime: fix mips assembly
I meant to say ~7, instead of ^7, in the review.

Fix build.

Change-Id: I5060bbcd98b4ab6f00251fdb68b6b35767e5acf1
Reviewed-on: https://go-review.googlesource.com/34411
Run-TryBot: Cherry Zhang <cherryyz@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
2016-12-15 02:50:23 +00:00
Ian Lance Taylor
cd2b6bd3c4 net: fix consecutive dialing docs
Update #17617.

Change-Id: Ia0bc9954bb914b650b7c7af35ef714ca6b0740b4
Reviewed-on: https://go-review.googlesource.com/34376
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2016-12-15 02:15:18 +00:00
Vladimir Stefanovic
627af57b54 cmd/dist: enable cgo by default for GOARCH=mips{,le}
Change-Id: I7dd927be1e702e8fd469f4834ab918e0bcd9bafc
Reviewed-on: https://go-review.googlesource.com/34318
Reviewed-by: Cherry Zhang <cherryyz@google.com>
Run-TryBot: Ian Lance Taylor <iant@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
2016-12-15 01:31:50 +00:00
Brad Fitzpatrick
ffc836bcbb net/http/httptrace: clarify WroteRequest may be called multiple times
Updates #18305

Change-Id: I63b28d511df1a6c54e32c8bfc7e2264f94e38cd7
Reviewed-on: https://go-review.googlesource.com/34386
Reviewed-by: Ian Lance Taylor <iant@golang.org>
2016-12-15 00:24:16 +00:00
Vladimir Stefanovic
49e5bdfe79 test: enable fixedbugs/issue10607 test on GOARCH=mips{,le}
Change-Id: I00c97c36e8fdc79582eaed21877e4c8f44568666
Reviewed-on: https://go-review.googlesource.com/34316
Reviewed-by: Ian Lance Taylor <iant@golang.org>
Run-TryBot: Ian Lance Taylor <iant@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
2016-12-15 00:12:31 +00:00
Vladimir Stefanovic
c74392634c cmd/objdump: disable objdump_test with external linking on GOARCH=mips{,le}
Updates #12559.

Change-Id: I5e8f4cf7071d0d71618527a6b6096e771d5eeb28
Reviewed-on: https://go-review.googlesource.com/34317
Reviewed-by: Ian Lance Taylor <iant@golang.org>
Run-TryBot: Ian Lance Taylor <iant@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
2016-12-15 00:11:51 +00:00
Vladimir Stefanovic
b909d01152 runtime: add cgo support for GOARCH=mips{,le}
Change-Id: Ib425ead7b340672837d3cb983bd785488706bd6d
Reviewed-on: https://go-review.googlesource.com/34314
Reviewed-by: Cherry Zhang <cherryyz@google.com>
Run-TryBot: Cherry Zhang <cherryyz@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
2016-12-14 23:52:33 +00:00
Vladimir Stefanovic
a3b670e333 cmd/link: add external linking support for GOARCH=mips{,le}
Fixes #17792.

Change-Id: If4f24455eec0edb3b221aef6777a681f6c768866
Reviewed-on: https://go-review.googlesource.com/34313
Reviewed-by: Cherry Zhang <cherryyz@google.com>
Run-TryBot: Ian Lance Taylor <iant@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
2016-12-14 23:51:55 +00:00
David Crawshaw
96414ca39f cmd/link: do not export plugin C symbols
Explicitly filter any C-only cgo functions out of pclntable,
which allows them to be duplicated with the host binary.

Updates #18190.

Change-Id: I50d8706777a6133b3e95f696bc0bc586b84faa9e
Reviewed-on: https://go-review.googlesource.com/34199
Reviewed-by: Ian Lance Taylor <iant@golang.org>
2016-12-14 19:36:20 +00:00
Brad Fitzpatrick
901005e8fc net/http: deflake TestClientTimeout_Headers_h2 on Windows
The client code was using time.Now() (wall time) to determine whether
the cause of a non-nil error meant that a timeout had occured. But on
Windows, the clock used for timers (time.After, time.Sleep, etc) is
much more accurate than the time.Now clock, which doesn't update
often.

But it turns out that as of the recent https://golang.org/cl/32478 we
already have the answer available easily. It just wasn't in scope.

Instead of passing this information along by decorating the errors
(risky this late in Go 1.8, especially with #15935 unresolved), just
passing along the "didTimeout" func internally for now. We can remove
that later in Go 1.9 if we overhaul Transport errors.

Fixes #18287 (I hope)

Change-Id: Icbbfceaf02de6c7ed04fe37afa4ca16374b58f3c
Reviewed-on: https://go-review.googlesource.com/34381
Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
Reviewed-by: Emmanuel Odeke <emm.odeke@gmail.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
2016-12-14 19:15:56 +00:00
Robert Griesemer
1da1e43281 go/internal/gccgoimporter: accept missed portions of v2 format
Fixes #18301.

Change-Id: I990c105904ab62f2225d671bbc10209ec51b12e2
Reviewed-on: https://go-review.googlesource.com/34371
Run-TryBot: Robert Griesemer <gri@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
Reviewed-by: Than McIntosh <thanm@google.com>
2016-12-14 18:47:56 +00:00
Euan Kemp
afb350811e runtime: correct writebarrier typos
Change-Id: I7d67c3d64be915f0be5932d2c068606d74f93c29
Reviewed-on: https://go-review.googlesource.com/34378
Run-TryBot: Austin Clements <austin@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Austin Clements <austin@google.com>
2016-12-14 18:19:10 +00:00
Daniel Theophanes
d0501f1da9 database/sql: do not store Tx options in Context
Drivers which previously supported tip will need to update to this
revision before release.

Fixes #18284

Change-Id: I70b8e7afff1558a8b5348885ce9f50e067c72ee9
Reviewed-on: https://go-review.googlesource.com/34330
Run-TryBot: Daniel Theophanes <kardianos@gmail.com>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
2016-12-14 18:13:13 +00:00
Euan Kemp
fe07091f9e crypto/aes: correct 'noescape' typo in s390x
Change-Id: I9e24a28b4daee5d6e1e4769547922a1a253b4ffc
Reviewed-on: https://go-review.googlesource.com/34377
Reviewed-by: Michael Munday <munday@ca.ibm.com>
2016-12-14 16:10:22 +00:00
Matt Layher
232991e8a7 net: change "mask" to "prefix length" in ParseCIDR comment
Fixes #18175

Change-Id: I0074109fa885976b22c2be9fa39641d4d0657dee
Reviewed-on: https://go-review.googlesource.com/34375
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2016-12-14 05:51:01 +00:00
Kaviraj
79a748fae8 net: document consecutive dialing in net.Dial
document about the consecutive dialing introduced in Go 1.5.
If address is resolved to multiple addresses,
Dial will try each address in order until one succeeds.
Deadline is used to try each address (calculated based on
total number of resolved addresses)

Fixes: #17617

Change-Id: I56b6399edb640c8ef507675f98e0bd45a50d4e2d
Reviewed-on: https://go-review.googlesource.com/34176
Reviewed-by: Ian Lance Taylor <iant@golang.org>
2016-12-14 04:34:59 +00:00
Ian Lance Taylor
73151700b4 cmd/link: improve -X doc wording
Change-Id: I9329738ec5dd6c12f72eea7de413d66617b7b5c2
Reviewed-on: https://go-review.googlesource.com/34373
Reviewed-by: Rob Pike <r@golang.org>
2016-12-14 01:43:58 +00:00
Ian Lance Taylor
10f3b09027 cmd/cgo: don't strip qualifiers from C void* pointer
Now that we try to handle qualifiers correctly (as of CL 33325), don't
strip them from a void* pointer. Otherwise we break a case like "const
void**", as the "const" qualifier is dropped and the resulting
"void**" triggers a warning from the C compiler.

Fixes #18298.

Change-Id: If51df1889b0f6a907715298c152e6d4584747acb
Reviewed-on: https://go-review.googlesource.com/34370
Run-TryBot: Ian Lance Taylor <iant@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
2016-12-14 00:59:38 +00:00
Ian Lance Taylor
4284edb999 cmd/link: explain how to find the name to use for -X
Doc change only.

Fixes #18246.

Change-Id: I2c7b181bcec81e124d30702f6fac5aa43bb57c04
Reviewed-on: https://go-review.googlesource.com/34230
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2016-12-14 00:11:37 +00:00
Vladimir Stefanovic
386b66f5bd cmd/cgo: add required gcc flags for GOARCH=mips{,le}
Change-Id: I1d6a2120a444d1ab9b9ecfdf27464325ad741d55
Reviewed-on: https://go-review.googlesource.com/34315
Reviewed-by: Ian Lance Taylor <iant@golang.org>
Run-TryBot: Ian Lance Taylor <iant@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
2016-12-13 22:52:28 +00:00
Vladimir Stefanovic
990cda59f8 misc/cgo/test: skip test18146 on mips{,64}
Change-Id: I724f4443fc10a6ee0d027a9533f07aba39455cfa
Reviewed-on: https://go-review.googlesource.com/34312
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
2016-12-13 22:24:03 +00:00
Vladimir Stefanovic
48b42d29dc test/bench/go1: reduce fasta data size for mips{,64}
Change-Id: I15887ee454acfdb36334dd9f0b59cc520b2b0286
Reviewed-on: https://go-review.googlesource.com/34311
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2016-12-13 22:04:23 +00:00
Russ Cox
3fb1e0bd7f cmd/go: fix go get -t -u path/... containing vendor directories
A lot of things had to line up to make this break,
but the caching of download results interacted badly
with vendor directories, "go get -t -u", and wildcard
expansion.

Fixes #18219.

Change-Id: I2676498d2f714eaeb69f399e9ed527640c12e60d
Reviewed-on: https://go-review.googlesource.com/34201
Run-TryBot: Russ Cox <rsc@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
2016-12-13 13:42:41 +00:00
Alex Brainman
ec80737bdf doc: debug/pe.Section is not new, Section.Relocs field is
Change-Id: Ie50d68f87670de6c199016ebdc740c11ee636e9a
Reviewed-on: https://go-review.googlesource.com/33931
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2016-12-13 04:35:43 +00:00
Daniel Theophanes
b00b214e0d os: must fixup path when 248 bytes long
Fixes #18283

Change-Id: Ic044d2d0657579e8e7786d7264fda2037ddc5ffb
Reviewed-on: https://go-review.googlesource.com/34280
Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2016-12-13 03:21:00 +00:00
Tilman Dilo
1657d76d5b cmd/vet: fix panic and handling of XML in struct field tag check
The check for duplicate struct field tags introduced in CL 16704
triggers a panic when an anonymous struct field with a duplicate name
is encountered. For such a field, the names slice of the ast.Field is
nil but accessed regardless to generate the warning message.

Additionally, the check produces false positives for XML tags in some
cases:

- When fields are encoded as XML attributes, a warning is produced when
  an attribute reuses a name previously used for an element.

  Example:
    type Foo struct {
        First int `xml:"a"`
        NoDup int `xml:"a,attr"` // warning about reuse of "a"
    }

- When XMLName is used to set the name of the enclosing struct element,
  it is treated as a regular struct field.

  Example:
    type Bar struct {
        XMLName xml.Name `xml:"a"`
        NoDup   int      `xml:"a"` // warning about reuse of "a"
    }

This commit addresses all three issues. The panic is avoided by using
the type name instead of the field name for anonymous struct fields when
generating the warning message. An additional namespace for checking XML
attribute names separately from element names is introduced. Lastly,
fields named XMLName are excluded from the check for duplicate tags.

Updates #18256

Change-Id: Ida48ea8584b56bd4d12ae3ebd588a66ced2594cc
Reviewed-on: https://go-review.googlesource.com/34070
Run-TryBot: Rob Pike <r@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Rob Pike <r@golang.org>
2016-12-13 03:13:24 +00:00
Ian Lance Taylor
c06b10ae9d os/exec: fix race in TestStdinCloseRace
The test for the race detector itself had a race of a sort not
detected by the race detector.

Fixes #18286.

Change-Id: I3265eae275aaa2869a6b6d3e8675b0d88b25831b
Reviewed-on: https://go-review.googlesource.com/34287
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2016-12-13 01:56:36 +00:00
Brad Fitzpatrick
d986daec13 net/http: update some comments
And move some code to make control flow more obvious.
No functional change.

Change-Id: Iefaa96f664070ab2accade1857e1946e56df6902
Reviewed-on: https://go-review.googlesource.com/34285
Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
2016-12-13 01:03:33 +00:00
Brad Fitzpatrick
48a5d9938c A+C: automated update
Add Alexander Menzhinsky (individual CLA)
Add Anthony Woods (individual CLA)
Add Chris Stockton (individual CLA)
Add David Lazar (corporate CLA for Google Inc.)
Add Elliot Morrison-Reed (individual CLA)
Add Igor Bernstein (corporate CLA for Google Inc.)
Add Jesse Szwedko (individual CLA)
Add Jordan Lewis (individual CLA)
Add Kaviraj Kanagaraj (individual CLA)
Add Keegan Carruthers-Smith (individual CLA)
Add Marcel Edmund Franke (individual CLA)
Add Marin Bašić (individual CLA)
Add Martin Kreichgauer (corporate CLA for Google Inc.)
Add Max Riveiro (individual CLA)
Add Odin Ugedal (individual CLA)
Add Patrick Lee (individual CLA)
Add Rebecca Stambler (corporate CLA for Google Inc.)
Add Ryuzo Yamamoto (individual CLA)
Add Takuya Ueda (individual CLA)
Add Thordur Bjornsson (individual CLA)
Add Zac Bergquist (individual CLA)

Updates #12042

Change-Id: Idb5ffe526b26437eb7612f0b60bde62162af5abb
Reviewed-on: https://go-review.googlesource.com/34286
Reviewed-by: Ian Lance Taylor <iant@golang.org>
2016-12-13 01:01:05 +00:00