-
Russ Cox authored
CL 108156 added -cgo during the Go 1.11 cycle. To avoid adding a new field to Package, it redefined the meaning of the CgoFiles list to be the cgo output instead of the cgo input. This was awkward in the go command itself, since the meaning of the list changed midway through the build. But, worse, it is awkward to users of go list. When gathering information about a tree of packages, we may want the names of both the cgo inputs and the cgo outputs (golang.org/x/tools/go/packages does, it turns out), or when combined with -deps (CL 107776), we may only care about one list or the other depending on whether the package was requested explicitly or is being returned as a dependency. Also, it's not general enough. SWIGFiles turn into cgo files and then end up in the list too. And maybe there will be others in the future. What clients really want is the list of files that are presented to the go compiler, so that they can parse and type-check them as if they were the compiler instead. Eliminate all this awkwardness by dropping -cgo and adding a new -compiled that populates a new CompiledGoFiles list. Change-Id: I5f152da17cfb2692eedde61721d01ec13067c57d Reviewed-on: https://go-review.googlesource.com/126695 Run-TryBot: Russ Cox <rsc@golang.org> Reviewed-by: Michael Matloob <matloob@golang.org> Reviewed-by: Bryan C. Mills <bcmills@google.com>
53859e57