Details:
- remove go1.5 "default version" labels on most files
- remove go1.6 labels on a few files
- go/loader: use conf.Cwd not "." in a couple places; update faulty
test expectations. (Not sure why this wasn't caught sooner.)
- go/ssa/interp: add 'mono' result to time.now intrinsic
- go/gcimporter15/bimport.go: make consistent with the version in gc
- go/ssa/interp: update test error message
- go/ssa: update a comment
The go/gcimporter15/bexport.go logic is stale and needs to be brought
up to date. Needs a separate CL since it's tricky.
Tested on go1.6, go1.7, go1.8.
Change-Id: I841189d30e131b7c49a4e8690ea7c40b55041bae
Reviewed-on: https://go-review.googlesource.com/36540
Reviewed-by: Robert Griesemer <gri@golang.org>
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>
- bimport.go is a 1:1 copy of the respective version in the std
library: $GOROOT/src/go/internal/gcimporter/bimport.go .
- bexport.go is mimicking the respective code in the cmd/compile.
- isAlias18/19.go are needed because types.TypeName.IsAlias does
not exist before Go 1.9.
Tested against Go 1.6, 1.7, 1.8, 1.9 (dev.typealias branch).
For golang/go#18130.
Change-Id: Ic46c5850923fab2a35d4dc33850f2b0667c30398
Reviewed-on: https://go-review.googlesource.com/35104
Run-TryBot: Robert Griesemer <gri@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Alan Donovan <adonovan@google.com>
Resolve symlinks in source directories (GOPATH, GOROOT, etc.) and source
files in order to find correct package. All I/O performed through
build.Context. Also add minor fix to guru unit tests in order to pass on
Windows.
Change-Id: Ie6134b9cd74eb7386e1d93603eb37c8e44b083b8
Reviewed-on: https://go-review.googlesource.com/33924
Reviewed-by: Alan Donovan <adonovan@google.com>
Reason: ContainingPackage should do all I/O through build.Context.
This reverts commit 3a9a2cbbc4.
Change-Id: I3897d8da5026ddc470989e3f239540286e89df4d
Reviewed-on: https://go-review.googlesource.com/33922
Reviewed-by: Alan Donovan <adonovan@google.com>
Reason: ContainingPackage must do all I/O through build.Context.
This reverts commit c945ee3be4.
Change-Id: I625410bc754ea2d150be097bf424de2be42acde4
Reviewed-on: https://go-review.googlesource.com/33921
Reviewed-by: Alan Donovan <adonovan@google.com>
Restructure tests to account for possibility of being run on Windows
(which doesn't handle symlinks).
Change-Id: I428db26c9a1aad337d8972baa2b71468be3a2e58
Reviewed-on: https://go-review.googlesource.com/33920
Reviewed-by: Alan Donovan <adonovan@google.com>
Resolve symlinks in source directories (GOPATH, GOROOT, etc.) and source
files in order to find correct package.
Fixesgolang/go#16219
Change-Id: I6fae14908827d5ebac55dfe455eaf616f71f8767
Reviewed-on: https://go-review.googlesource.com/33919
Reviewed-by: Alan Donovan <adonovan@google.com>
Fix reference to OverlayContext in the doc for
ParseOverlayArchive.
Change-Id: I0b1db478489764fa309cb2e2f788865ac7ff71bb
Reviewed-on: https://go-review.googlesource.com/33916
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Also: drop all pretense of support for platforms other than darwin and linux.
This package is just a test of go/ssa, not a portable interpreter, and these
are the only platforms to which I have easy access.
Builds on: freebsd darwin plan9 linux windows
Change-Id: I965abc67b1280d33e933b83607a4372d65e070cf
Reviewed-on: https://go-review.googlesource.com/33163
Reviewed-by: Robert Griesemer <gri@golang.org>
The export data formats (text and binary) emitted by gc in Go 1.7 did
not record the package that "owns" each blank field, even though blank
is an unexported identifier. Before, gcimporter would assume the
package of the export data file owns blank fields within it, even
blank fields reexported from another package. As a result, identical
types would become nonidentical during reexporting.
For bug compatibility with gc, gcimporter now treats blank fields as
if they all belong to the same dummy package, avoiding spurious "can't
assign A to B" errors in tools based on go/types.
Change-Id: I0dbf71491a0ec0f376e9dc8a91efe0376c855a28
Reviewed-on: https://go-review.googlesource.com/33146
Reviewed-by: Robert Griesemer <gri@golang.org>
We already are compatible with the latest format. Update version.
Tested against 1.6, 1.7, and tip.
Fixesgolang/go#17734.
Change-Id: Ia167adf0ed1de371c348329513819fb9e8ca2628
Reviewed-on: https://go-review.googlesource.com/33113
Reviewed-by: Alan Donovan <adonovan@google.com>
We don't support Go1.5 anymore.
Tested with 1.6, 1.7, and tip.
For golang/go#17734.
Change-Id: I718c7996b99f9b98744346e119ee209b4709a070
Reviewed-on: https://go-review.googlesource.com/33111
Reviewed-by: Alan Donovan <adonovan@google.com>
If the name of an archive member is longer than 16 bytes, an ELF archive
file contains a string table of file names under the name "//", and this
member has no mode. Skip such members.
+ Test.
Change-Id: Ib10db1cc42816c9002433be6176240e490678560
Reviewed-on: https://go-review.googlesource.com/32973
Reviewed-by: Ian Lance Taylor <iant@golang.org>
...to match the new interface between "go test" and the standard testing
package.
Rather than generate SSA code directly, which was tricky and fragile, we
now generate source just as "go test" does, type-check it, and build an
SSA package from it. crawshaw suggested I do this in the very first
version of testmain.go, but at the time I believed it to be infeasible.
The testMainStartBodyHook mechanism has gone away; installations that
needed it can now achieve the same results more easily by overriding the
templates.
Tested with Go 1.6, 1.7 and 1.8.
Fixesgolang/go#17722
Change-Id: I3ffd25f01157f6fb7a39acd18af46f17e9c07b99
Reviewed-on: https://go-review.googlesource.com/32888
Reviewed-by: Robert Griesemer <gri@golang.org>
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>
Reason: Decision to back out current alias implementation.
For golang/go#16339 (comment).
Change-Id: Id2a394d78a8661c767bcc05370b81f79d9bfb714
Reviewed-on: https://go-review.googlesource.com/32756
Run-TryBot: Robert Griesemer <gri@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Chris Manghane <cmang@golang.org>
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
This reverts commit 50193ec1c5.
Reason for revert: aliases will not be part of Go 1.8
Change-Id: Idb3b74243eeb8dbeb2a2f4bd69a248c1dafa5348
Reviewed-on: https://go-review.googlesource.com/32835
Reviewed-by: Robert Griesemer <gri@golang.org>
+ test
Tested on 1.6, 1.7, and 1.8.
Fixesgolang/go#17731.
Change-Id: I06dff4a72ff08ed5e8ae1d23a1e65fe719c03180
Reviewed-on: https://go-review.googlesource.com/32581
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
Reviewed-by: Alan Donovan <adonovan@google.com>
The -newexport flag is on by default for 1.7,
no need to special-case it anymore.
Tested against 1.6, 1.7, and 1.8.
Change-Id: I9c4a31f80d1309564e2a01514fca4b17e4378b9c
Reviewed-on: https://go-review.googlesource.com/32582
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
This CL only copies files and updates build tags.
Substantive changes will come in follow-ups.
This is a workaround for git's lack of rename/copy tracking.
Tested with go1.6, go1.7, and tip (go1.8).
Change-Id: Id88a05273fb963586b228d5e5dfacab32133a960
Reviewed-on: https://go-review.googlesource.com/32630
Reviewed-by: Robert Griesemer <gri@golang.org>
because its export data doesn't contain file position information.
Change-Id: Ia3ab54ae8a493666b9ad63577aa8fad513385052
Reviewed-on: https://go-review.googlesource.com/32299
Reviewed-by: Robert Griesemer <gri@golang.org>
This is a short-term stop-gap to keep the builders happy.
Change-Id: I87171c20bf44f36fd2c4d7213211217de6110fdd
Reviewed-on: https://go-review.googlesource.com/32293
Reviewed-by: Robert Griesemer <gri@golang.org>
(The first was go-review.googlesource.com/c/31813)
Fixes issue golang/go#17565
Change-Id: I61c124e041af689913aedebdde654197c5526228
Reviewed-on: https://go-review.googlesource.com/32034
Reviewed-by: Robert Griesemer <gri@golang.org>
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>
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>