From: Ian Lance Taylor Date: Tue, 7 Feb 2017 15:28:49 +0000 (-0800) Subject: cmd/go: copy FFLAGS from build.Package X-Git-Tag: go1.9beta1~1616 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=e7ec06e000627ad699a274a5a672bc3f63d6a709;p=gostls13.git cmd/go: copy FFLAGS from build.Package Fixes #18975. Change-Id: I60dfb299233ecfed4b2da93750ea84e7921f1fbb Reviewed-on: https://go-review.googlesource.com/36482 Run-TryBot: Ian Lance Taylor Reviewed-by: Daniel Martí Reviewed-by: Russ Cox TryBot-Result: Gobot Gobot --- diff --git a/src/cmd/go/go_test.go b/src/cmd/go/go_test.go index 09b6042c0f..06e87798d0 100644 --- a/src/cmd/go/go_test.go +++ b/src/cmd/go/go_test.go @@ -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"`) +} diff --git a/src/cmd/go/internal/load/pkg.go b/src/cmd/go/internal/load/pkg.go index 11dd6815df..bf91bb74ad 100644 --- a/src/cmd/go/internal/load/pkg.go +++ b/src/cmd/go/internal/load/pkg.go @@ -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.