]> Cypherpunks repositories - gostls13.git/commitdiff
cmd/go: copy FFLAGS from build.Package
authorIan Lance Taylor <iant@golang.org>
Tue, 7 Feb 2017 15:28:49 +0000 (07:28 -0800)
committerIan Lance Taylor <iant@golang.org>
Fri, 10 Feb 2017 21:38:07 +0000 (21:38 +0000)
Fixes #18975.

Change-Id: I60dfb299233ecfed4b2da93750ea84e7921f1fbb
Reviewed-on: https://go-review.googlesource.com/36482
Run-TryBot: Ian Lance Taylor <iant@golang.org>
Reviewed-by: Daniel Martí <mvdan@mvdan.cc>
Reviewed-by: Russ Cox <rsc@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>

src/cmd/go/go_test.go
src/cmd/go/internal/load/pkg.go

index 09b6042c0fd34127b7d16b818223812795f68edf..06e87798d0fae5f4c1809d702574154f055ae4be 100644 (file)
@@ -3777,3 +3777,24 @@ func TestA(t *testing.T) {}`)
        tg.grepStdout("pkgs$", "expected package not listed")
        tg.grepStdout("pkgs/a", "expected package not listed")
 }
+
+// Issue 18975.
+func TestFFLAGS(t *testing.T) {
+       if !canCgo {
+               t.Skip("skipping because cgo not enabled")
+       }
+
+       tg := testgo(t)
+       defer tg.cleanup()
+       tg.parallel()
+
+       tg.tempFile("p/src/p/main.go", `package main
+               // #cgo FFLAGS: -no-such-fortran-flag
+               import "C"
+               func main() {}
+       `)
+       tg.tempFile("p/src/p/a.f", `! comment`)
+       tg.setenv("GOPATH", tg.path("p"))
+       tg.runFail("build", "-x", "p")
+       tg.grepStderr("no-such-fortran-flag", `missing expected "-no-such-fortran-flag"`)
+}
index 11dd6815df667fde2273af2e87564db4fb56302f..bf91bb74ada5dd9112e4d2d63a86fd801a9c8738 100644 (file)
@@ -184,6 +184,7 @@ func (p *Package) copyBuild(pp *build.Package) {
        p.CgoCFLAGS = pp.CgoCFLAGS
        p.CgoCPPFLAGS = pp.CgoCPPFLAGS
        p.CgoCXXFLAGS = pp.CgoCXXFLAGS
+       p.CgoFFLAGS = pp.CgoFFLAGS
        p.CgoLDFLAGS = pp.CgoLDFLAGS
        p.CgoPkgConfig = pp.CgoPkgConfig
        // We modify p.Imports in place, so make copy now.