Commit 87155d4f by Ian Lance Taylor

cmd/go: ignore errors from go/build for standard packages

    
    The go/build package does not know that gccgo's standard packages don't
    have source, and will report an error saying that it can not find them.
    Work around that in the cmd/go sources, since the go/build sources don't
    currently have a list of standard packages.
    
    This should get a real fix in the master sources, somehow.
    
    Fixes golang/go#16701.
    
    Reviewed-on: https://go-review.googlesource.com/27052

From-SVN: r239486
parent 2008be40
24e0c4c98e0614b1892316aca787f1c564f2d269 affb1bf5fcd7abf05993c54313d8000b93a08d4a
The first line of this file holds the git revision number of the last The first line of this file holds the git revision number of the last
merge done from the gofrontend repository. merge done from the gofrontend repository.
...@@ -763,6 +763,13 @@ var cgoSyscallExclude = map[string]bool{ ...@@ -763,6 +763,13 @@ var cgoSyscallExclude = map[string]bool{
func (p *Package) load(stk *importStack, bp *build.Package, err error) *Package { func (p *Package) load(stk *importStack, bp *build.Package, err error) *Package {
p.copyBuild(bp) p.copyBuild(bp)
// When using gccgo the go/build package will not be able to
// find a standard package. It would be nicer to not get that
// error, but go/build doesn't know stdpkg.
if runtime.Compiler == "gccgo" && err != nil && p.Standard {
err = nil
}
// The localPrefix is the path we interpret ./ imports relative to. // The localPrefix is the path we interpret ./ imports relative to.
// Synthesized main packages sometimes override this. // Synthesized main packages sometimes override this.
p.localPrefix = dirToImportPath(p.Dir) p.localPrefix = dirToImportPath(p.Dir)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment