aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorXiangdong Ji <jixiangdong@bytedance.com>2023-02-02 14:20:16 +0800
committerGopher Robot <gobot@golang.org>2023-02-07 22:22:37 +0000
commit9565d990f4e2630dbf37c636299b9ddbd58b4f6b (patch)
treeab8f21312d5696dc2584695d492a9db6847dc379
parent1bd0405b8fc4b2c308927df0803475e83542dd78 (diff)
downloadgo-9565d990f4e2630dbf37c636299b9ddbd58b4f6b.tar.xz
cmd/go: honor user-specified -c=N
User-specified '-c=N' options should take precedence over the default one generated by cmd/go. Change-Id: I9021440b4a4286f8d6f92acb745a777cf234a82b Reviewed-on: https://go-review.googlesource.com/c/go/+/465095 Reviewed-by: Bryan Mills <bcmills@google.com> Reviewed-by: David Chase <drchase@google.com> Auto-Submit: Bryan Mills <bcmills@google.com> Run-TryBot: Bryan Mills <bcmills@google.com> TryBot-Result: Gopher Robot <gobot@golang.org>
-rw-r--r--src/cmd/go/internal/work/gc.go2
-rw-r--r--src/cmd/go/testdata/script/build_gcflags_order.txt2
2 files changed, 3 insertions, 1 deletions
diff --git a/src/cmd/go/internal/work/gc.go b/src/cmd/go/internal/work/gc.go
index ded751f4d4..1193a5bbfd 100644
--- a/src/cmd/go/internal/work/gc.go
+++ b/src/cmd/go/internal/work/gc.go
@@ -169,7 +169,7 @@ func (gcToolchain) gc(b *Builder, a *Action, archive string, importcfg, embedcfg
}
// Add -c=N to use concurrent backend compilation, if possible.
if c := gcBackendConcurrency(gcflags); c > 1 {
- gcflags = append(gcflags, fmt.Sprintf("-c=%d", c))
+ defaultGcFlags = append(defaultGcFlags, fmt.Sprintf("-c=%d", c))
}
args := []any{cfg.BuildToolexec, base.Tool("compile"), "-o", ofile, "-trimpath", a.trimpath(), defaultGcFlags, gcflags}
diff --git a/src/cmd/go/testdata/script/build_gcflags_order.txt b/src/cmd/go/testdata/script/build_gcflags_order.txt
index 0ffe1570f6..3725c89eb3 100644
--- a/src/cmd/go/testdata/script/build_gcflags_order.txt
+++ b/src/cmd/go/testdata/script/build_gcflags_order.txt
@@ -4,6 +4,8 @@
cd m
go build -n -gcflags=-lang=go1.17
stderr ' -lang=go1.16.* -lang=go1.17'
+! go build -gcflags='-c 0'
+stderr 'compile: -c must be at least 1, got 0'
-- m/go.mod --
module example.com