cmd/go: don't require GOROOT to exist for gccgo
authorIan Lance Taylor <ian@gcc.gnu.org>
Fri, 23 Jun 2017 20:11:27 +0000 (20:11 +0000)
committerIan Lance Taylor <ian@gcc.gnu.org>
Fri, 23 Jun 2017 20:11:27 +0000 (20:11 +0000)
    Reviewed-on: https://go-review.googlesource.com/46590

From-SVN: r249609

gcc/go/gofrontend/MERGE
libgo/go/cmd/go/main.go

index eb58bbd2ae0ccfdf86dee316387de7aa3f3dc300..e2d91ad222c4ccd549b80cb3c76c45f078f030d7 100644 (file)
@@ -1,4 +1,4 @@
-c49ba1ca392b3c23a4b3934e0a95a908b1dc2f1d
+fc0cfdff94ca1099421900f43837ca5a70189cd6
 
 The first line of this file holds the git revision number of the last
 merge done from the gofrontend repository.
index d80ff2da5fe67d28a711d3ff72436db032d3c965..ceeac4d4a3a89d99ae2d937e531ff854de6a41d9 100644 (file)
@@ -155,8 +155,13 @@ func main() {
        }
 
        if fi, err := os.Stat(goroot); err != nil || !fi.IsDir() {
-               fmt.Fprintf(os.Stderr, "go: cannot find GOROOT directory: %v\n", goroot)
-               os.Exit(2)
+               // For gccgo this is fine, carry on.
+               // Note that this check is imperfect as we have not yet
+               // parsed the -compiler flag.
+               if runtime.Compiler != "gccgo" {
+                       fmt.Fprintf(os.Stderr, "go: cannot find GOROOT directory: %v\n", goroot)
+                       os.Exit(2)
+               }
        }
 
        // Set environment (GOOS, GOARCH, etc) explicitly.