Commit Graph

28 Commits

Author SHA1 Message Date
Than McIntosh 5aed7825b1 go/internal/gccgoimporter: update package to match std lib version
Import changes from std lib version, specifically

          https://golang.org/cl/181118

related to importing inlinable function bodies.

Change-Id: Ie5fe1db508f7ec2cbef2dcdc96e2136c8e4f23ad
Reviewed-on: https://go-review.googlesource.com/c/tools/+/181120
Run-TryBot: Than McIntosh <thanm@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Cherry Zhang <cherryyz@google.com>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
2019-06-07 13:55:18 +00:00
Tobias Klauser d0a3d01286 go/internal/gccgoimporter: update importer tests to match std lib version
Import CL 174738 and CL 164862 from std lib version. This should fix
test failures of issue31540.go on gccgo versions < 7, e.g. on
solaris-amd64-smartosbuildlet

Change-Id: I0a41ca9fe2b248d301fbdf14c9bac3aa3e7b091c
Reviewed-on: https://go-review.googlesource.com/c/tools/+/180897
Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Than McIntosh <thanm@google.com>
2019-06-06 12:41:16 +00:00
Than McIntosh 9e44c1c403 go/internal/gccgoimporter: update package to match std lib version
Import changes from std lib version, specifically

      https://golang.org/cl/173440

which rolls out a more robust fix for issue 31540.

Updates golang/go#31540.

Change-Id: Ibeeb00ffd0ee6456d50fd4a243a1162f3940ad68
Reviewed-on: https://go-review.googlesource.com/c/tools/+/173777
Run-TryBot: Than McIntosh <thanm@google.com>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
2019-04-25 00:10:55 +00:00
Than McIntosh 685fecacd0 go/internal/gccgoimporter: update package to match std lib version
Import changes from std lib version, specifically

  https://golang.org/cl/172603
  https://golang.org/cl/165739

which contain to a fix for reading of import data as
well as a couple of new test cases.

Updates golang/go#31540.

Change-Id: Iecb1a5a5a7bf100b2ebb871196868e96b1a50611
Reviewed-on: https://go-review.googlesource.com/c/tools/+/173037
Run-TryBot: Than McIntosh <thanm@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
2019-04-20 00:05:08 +00:00
Than McIntosh fe2443f7b9 go/internal/gccgoimporter: test fix for older gccgo versions
Import test fix https://golang.org/cl/153831 from std lib
version (skips issue29198.go test for older versions of gccgo).

Updates golang/go#29198.

Change-Id: Iddd903068a73a307b1d19d93a7c03b1d00365022
Reviewed-on: https://go-review.googlesource.com/c/153870
Run-TryBot: Than McIntosh <thanm@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
2018-12-13 21:01:26 +00:00
Than McIntosh 7529026f5b go/internal/gccgoimporter: update package to match std lib version
Import changes from std lib version, specifically

    https://golang.org/cl/153821

which fixes a bug (#29198) in reading of import data.

Change-Id: I26d4da015b88bbc8f4f7775b0850bef5dffadbec
Reviewed-on: https://go-review.googlesource.com/c/153868
Run-TryBot: Than McIntosh <thanm@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
2018-12-13 13:10:58 +00:00
Than McIntosh 555fafe5a2 go/internal/gccgoimporter: update package to match std lib version
This CL updates the importer to match the original code in the std lib
but for the necessary changes to make the code work in x/tools and
with older versions of the std lib.

Notably, it brings over changes from:

       https://go-review.googlesource.com/c/152378

Change-Id: Icaa05303a05a226c710b5923d8574f255651fe47
Reviewed-on: https://go-review.googlesource.com/c/152577
Reviewed-by: Ian Lance Taylor <iant@golang.org>
Run-TryBot: Ian Lance Taylor <iant@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
2018-12-05 00:58:08 +00:00
Than McIntosh e51e3523bf go/internal/gccgoimporter: update package to match std lib version
This CL updates the importer to match the original code in the std lib
but for the necessary changes to make the code work in x/tools and
with older versions of the std lib.

Notably, it brings over changes from:

   https://go-review.googlesource.com/c/152078
   https://go-review.googlesource.com/c/152077
   https://golang.org/cl/151997
   https://golang.org/cl/151557
   https://golang.org/cl/149957

including test fixes (we want tests to run when gccgo is available,
not just when all go tools are gccgo-based), bug fixes (primarily
related to aliases), performance enhancements, and new code to read
the V3 export data emitted by the most recent gccgo.

Change-Id: I2d34bace23769e62795599b93db8295169076594
Reviewed-on: https://go-review.googlesource.com/c/151717
Run-TryBot: Than McIntosh <thanm@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Robert Griesemer <gri@golang.org>
2018-11-30 22:34:53 +00:00
Robert Griesemer 249abec53b go/internal/gccgoimporter: update package to match std lib version
This CL makes sure it matches the original code in the std lib
but for the necessary changes to make the code work in x/tools
and with older versions of the std lib.

Notably, it brings over changes from https://golang.org/cl/119895
which were not ported to x/tools.

To simplify future comparisons with the original, streamlined
some comments.

Fixes golang/go#27891.

Change-Id: Iff48c11cb7f0f8a55b4ea33321c686f9d5c707c7
Reviewed-on: https://go-review.googlesource.com/c/142893
Reviewed-by: Alan Donovan <adonovan@google.com>
2018-10-17 21:20:11 +00:00
Robert Griesemer 9183b65408 go/internal/gccgoimporter: add missing copyright notice
Change-Id: I2a1d5132f7263d8dc0e2a42c42b37b9d962a3ab7
Reviewed-on: https://go-review.googlesource.com/c/142892
Reviewed-by: Alan Donovan <adonovan@google.com>
2018-10-17 21:19:00 +00:00
Robert Griesemer 7099c87f61 go/internal/gccgoimporter: add missing copyright notice
Change-Id: I20f7aba8a76cfe8549771ef96244e8641a4157e6
Reviewed-on: https://go-review.googlesource.com/c/142891
Reviewed-by: Ian Lance Taylor <iant@golang.org>
2018-10-17 20:52:59 +00:00
Robert Griesemer 9e2f8b2a0a go/internal/gccgoimporter: remove special case for Go1.9
The supported x/tools versions are now all at least Go1.9.

Change-Id: I9476329f2be8f3c560efb280f06d65669a3e9f85
Reviewed-on: https://go-review.googlesource.com/137996
Run-TryBot: Robert Griesemer <gri@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Alan Donovan <adonovan@google.com>
2018-09-27 15:01:54 +00:00
Robert Griesemer b14f328a62 go/internal/gccgoimporter: port recent changes from stdlib version
This CL brings over the following changes from the std lib:

	https://golang.org/cl/137857
	https://golang.org/cl/137935
	https://golang.org/cl/137975

There are no further code changes except that the importer test
cases are split between importer_test.go and importer19_test.go
to support multiple Go versions.

Updates golang/go#27856.

Change-Id: I625def738c22c24c6659af37c3871038fdd8b981
Reviewed-on: https://go-review.googlesource.com/137995
Reviewed-by: Ian Lance Taylor <iant@golang.org>
2018-09-27 04:48:12 +00:00
Robert Griesemer 56e9b8e653 go/internal/gcimporter,gccgoimporter: use types.NewInterfaceType
https://go-review.googlesource.com/c/go/+/120875 changed the name
of types.NewInterface2 to NewInterfaceType. Adjust x/tools code to
match new API.

For golang/go#25301.

Change-Id: I21e13566f7c88591a16ce461cb4cce8901980b05
Reviewed-on: https://go-review.googlesource.com/120895
Run-TryBot: Robert Griesemer <gri@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Josh Bleecher Snyder <josharian@gmail.com>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
2018-06-26 17:42:40 +00:00
Robert Griesemer 6f857df7d4 go/internal/gccgoimporter: use types.NewInterface (not NewInterface2) for builds before Go 1.11
For https://github.com/golang/lint/issues/402.

Change-Id: I06d944aaa168fb595ff96eb27a7d6e7da344ebd6
Reviewed-on: https://go-review.googlesource.com/118564
Run-TryBot: Robert Griesemer <gri@golang.org>
Reviewed-by: Andrew Bonventre <andybons@golang.org>
2018-06-13 18:13:43 +00:00
Robert Griesemer 9a70f1fcbf go/internal/gcimporter, gccgoimporter: updated to match latest version in std lib
This CL brings over the changes from:

https://go-review.googlesource.com/118496 (better error message when importer is out of date)
https://go-review.googlesource.com/114317 (permit embedding of non-defined interfaces via alias type names)
https://go-review.googlesource.com/85318  (use named receiver types for methods of named interfaces)
https://go-review.googlesource.com/42870  (report import path if package is not found)
https://go-review.googlesource.com/41710  (version tests for 1.8, v4 and v5)

Also updated go/gcexportdata to select between binary and new indexed export format.

For golang/go#25856.
For golang/go#25301.
For golang/go#20230.
For golang/go#13829.

Change-Id: Ibf77c50f86e767cef411bd1d3809e12397678958
Reviewed-on: https://go-review.googlesource.com/118555
Run-TryBot: Robert Griesemer <gri@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Alan Donovan <adonovan@google.com>
2018-06-13 15:25:57 +00:00
Ian Lance Taylor c65208ee29 go/...: make most tests pass with gccgo
There is one non-test change: have FakeContext change the compiler to
"gc", as callers expect to be accessing a gc-style GOROOT.

The go/pointer, go/ssa, and go/ssa/interp tests still fail with gccgo.

Change-Id: I850c9618401f6b9e63d7ca7196f91931b03f1524
Reviewed-on: https://go-review.googlesource.com/117395
Run-TryBot: Ian Lance Taylor <iant@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2018-06-08 16:58:49 +00:00
Robert Griesemer fbec762f83 go/internal/gccgoimporter: parse optional escape info in export data
This is a copy of https://go-review.googlesource.com/c/go/+/86977
and brings those changes into the x/tools repo.

It also includes a minor change to parser.go that was done via
https://go-review.googlesource.com/37839 but that wasn't brought
over.

For golang/go#23324.

Change-Id: I84b7cf134fec250ac340e404802158860cb3c630
Reviewed-on: https://go-review.googlesource.com/87295
Reviewed-by: Cherry Zhang <cherryyz@google.com>
2018-01-11 04:04:09 +00:00
Robert Griesemer 04447353bc go/ssa: complete interface types for correct string form (fix build)
Fixes golang/go#22933.

Change-Id: I0cf0aab8b77114ee7eb1e181aee2c5b75087aa83
Reviewed-on: https://go-review.googlesource.com/80897
Run-TryBot: Robert Griesemer <gri@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Alan Donovan <adonovan@google.com>
2017-11-30 18:55:14 +00:00
David R. Jenni b20a216efb x/tools/go/internal/gccgoimporter: remove unused method
Found with honnef.co/go/tools/cmd/unused.

Change-Id: Ib8acac744a171b70f3f842f8f5f8c34064869383
Reviewed-on: https://go-review.googlesource.com/37604
Reviewed-by: Alan Donovan <adonovan@google.com>
2017-03-01 14:54:10 +00:00
Robert Griesemer b55a2aaa40 go/internal/gccgoimporter: add missing testfile (fix 1.9 build)
Change-Id: Icba8d6917dcac4b8f541fc11305981539a12924a
Reviewed-on: https://go-review.googlesource.com/36116
Run-TryBot: Robert Griesemer <gri@golang.org>
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
2017-02-01 22:16:26 +00:00
Robert Griesemer fcfba28e23 go/internal/gccgoimporter: support for type aliases
This is essentially a copy of the changes in https://golang.org/cl/35268/
but with Go1.9 specific tests factored out into a separate file with build
tag.

For golang/go#18130.

Change-Id: I235693e1bc6145bb53bfd3b343647704c8e82e61
Reviewed-on: https://go-review.googlesource.com/35269
Run-TryBot: Robert Griesemer <gri@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Alan Donovan <adonovan@google.com>
2017-01-20 05:57:59 +00:00
Samuel Tan dd79664177 go/internal/gccgoimporter: accept missed portions of v2 format
Same as https://go-review.googlesource.com/c/34371/ in the standard library.

Fixes #18301.

Change-Id: I132585e0f98c53437fdef44ac36af8f21d141a83
Reviewed-on: https://go-review.googlesource.com/34387
Run-TryBot: Robert Griesemer <gri@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Robert Griesemer <gri@golang.org>
2016-12-15 00:32:54 +00:00
Alan Donovan 3d92dd6003 go/internal/gccgoimporter: handle conversions in exported const values
Same as https://go-review.googlesource.com/c/33412/ in the standard library.

Fixes #17981.

Change-Id: Iaf47872840a4456d824ed5d7b3eda205c043e4cf
Reviewed-on: https://go-review.googlesource.com/34110
Reviewed-by: Robert Griesemer <gri@golang.org>
2016-12-07 20:12:13 +00:00
Samuel Tan 09079c88dc go/gccgoexportdata: plumb additional arguments to gccgo compiler
Allow extra arguments to be passed to the specified gccgo compiler
when it is called in GccgoInstallation.InitFromDriver. This allows
the call to gccgo to be adjusted depending on the build environment.

For example, some build environments require the
'no-canonical-prefixes' option to prevent gccgo from resolving
symlinks when generating relative prefixes.

Change-Id: I0ecf338ee7a3780f1f65b30e214e69c1698041bb
Reviewed-on: https://go-review.googlesource.com/32874
Reviewed-by: Alan Donovan <adonovan@google.com>
2016-11-07 23:39:01 +00:00
Alan Donovan b814a3b030 go/internal/gccgoimporter: use 0 not io.SeekStart for Go 1.6 compatibility.
Change-Id: I396e221217c7fac5e7a9d66cbd97ef51782b0dd8
Reviewed-on: https://go-review.googlesource.com/32298
Reviewed-by: Robert Griesemer <gri@golang.org>
2016-10-28 18:18:45 +00:00
Alan Donovan 5e7fa1cbaa go/gccgoexporter: an API for parsing gccgo export data
This package is provided as a stop-gap until gccgo uses the same export
data format as gc.  Once that occurs, this package will be deprecated
and eventually deleted.  The API is similar to (a subset of) gcexportdata.

Change-Id: I3398dbb8eab508a24d12036bbadaa60c2c1e77b3
Reviewed-on: https://go-review.googlesource.com/31822
Reviewed-by: Robert Griesemer <gri@golang.org>
2016-10-25 15:07:10 +00:00
Alan Donovan 20055e012d go/internal/gccgoimporter: fork go/internal/gccgoimporter
The standard go/internal/gccgoimporter package is essentially unusable
behind the go/importer.For API, so this change makes a copy of it in
x/tools.  A follow-up change will expose a small but usable API to it.

Change-Id: Ica5092267ecafb78e1d983c86aa46e4e0bef02d5
Reviewed-on: https://go-review.googlesource.com/31854
Reviewed-by: Robert Griesemer <gri@golang.org>
2016-10-24 21:32:26 +00:00