]> Cypherpunks repositories - gostls13.git/commitdiff
cmd/go: don't scan gccgo standard library packages for imports
authorIan Lance Taylor <iant@golang.org>
Mon, 4 Jan 2021 22:24:40 +0000 (14:24 -0800)
committerIan Lance Taylor <iant@golang.org>
Tue, 5 Jan 2021 20:54:17 +0000 (20:54 +0000)
In a gccgo installation the standard library sources are not available.

Change-Id: I929f3645e3ac95a1fa7047d6a3d243159a86ba66
Reviewed-on: https://go-review.googlesource.com/c/go/+/281493
Trust: Ian Lance Taylor <iant@golang.org>
Run-TryBot: Ian Lance Taylor <iant@golang.org>
TryBot-Result: Go Bot <gobot@golang.org>
Reviewed-by: Jay Conrod <jayconrod@google.com>
Reviewed-by: Bryan C. Mills <bcmills@google.com>
src/cmd/go/internal/modload/load.go

index 27f47fad4d3558926518499e8127b97a7e6020b5..9a8b0cf177abe0090dbd31929f70324d15d588f5 100644 (file)
@@ -1083,14 +1083,21 @@ func (ld *loader) load(pkg *loadPkg) {
                }
        }
 
-       imports, testImports, err := scanDir(pkg.dir, ld.Tags)
-       if err != nil {
-               pkg.err = err
-               return
-       }
-
        pkg.inStd = (search.IsStandardImportPath(pkg.path) && search.InDir(pkg.dir, cfg.GOROOTsrc) != "")
 
+       var imports, testImports []string
+
+       if cfg.BuildContext.Compiler == "gccgo" && pkg.inStd {
+               // We can't scan standard packages for gccgo.
+       } else {
+               var err error
+               imports, testImports, err = scanDir(pkg.dir, ld.Tags)
+               if err != nil {
+                       pkg.err = err
+                       return
+               }
+       }
+
        pkg.imports = make([]*loadPkg, 0, len(imports))
        var importFlags loadPkgFlags
        if pkg.flags.has(pkgInAll) {