Skip to content

Commit 12e11e7

Browse files
qiulaidongfengseankhliao
authored andcommitted
cmd/go: fix not print GCCGO when it's not the default
Fixes #69994 Change-Id: I2a23e5998b7421fd5ae0fdb68303d3244361b341 Reviewed-on: https://go-review.googlesource.com/c/go/+/671635 Reviewed-by: Michael Matloob <matloob@golang.org> Reviewed-by: Michael Matloob <matloob@google.com> Reviewed-by: Sean Liao <sean@liao.dev> LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> Reviewed-by: Michael Knyszek <mknyszek@google.com>
1 parent a24f4db commit 12e11e7

File tree

3 files changed

+8
-1
lines changed

3 files changed

+8
-1
lines changed

src/cmd/go/internal/envcmd/env.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -142,7 +142,7 @@ func MkEnv() []cfg.EnvVar {
142142
if work.GccgoBin != "" {
143143
env = append(env, cfg.EnvVar{Name: "GCCGO", Value: work.GccgoBin, Changed: true})
144144
} else {
145-
env = append(env, cfg.EnvVar{Name: "GCCGO", Value: work.GccgoName})
145+
env = append(env, cfg.EnvVar{Name: "GCCGO", Value: work.GccgoName, Changed: work.GccgoChanged})
146146
}
147147

148148
goarch, val, changed := cfg.GetArchEnv()

src/cmd/go/internal/work/gccgo.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,13 +27,17 @@ import (
2727
type gccgoToolchain struct{}
2828

2929
var GccgoName, GccgoBin string
30+
var GccgoChanged bool
3031
var gccgoErr error
3132

3233
func init() {
3334
GccgoName = cfg.Getenv("GCCGO")
3435
if GccgoName == "" {
3536
GccgoName = "gccgo"
3637
}
38+
if GccgoName != "gccgo" {
39+
GccgoChanged = true
40+
}
3741
GccgoBin, gccgoErr = pathcache.LookPath(GccgoName)
3842
}
3943

src/cmd/go/testdata/script/env_changed.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ env CGO_CFLAGS=nodefault
1212
env CGO_CPPFLAGS=nodefault
1313
env GOFIPS140=latest
1414
[cgo] env CGO_ENABLED=0
15+
env GCCGO=nodefault
1516

1617
go env -changed
1718
# linux output like GOTOOLCHAIN='local'
@@ -24,6 +25,7 @@ stdout 'CGO_CFLAGS=''?nodefault''?'
2425
stdout 'CGO_CPPFLAGS=''?nodefault''?'
2526
stdout 'GOFIPS140=''?latest''?'
2627
[cgo] stdout 'CGO_ENABLED=''?0''?'
28+
stdout 'GCCGO=''?nodefault''?'
2729

2830
go env -changed -json
2931
stdout '"GOTOOLCHAIN": "local"'
@@ -34,6 +36,7 @@ stdout '"CGO_CFLAGS": "nodefault"'
3436
stdout '"CGO_CPPFLAGS": "nodefault"'
3537
stdout '"GOFIPS140": "latest"'
3638
[cgo] stdout '"CGO_ENABLED": "0"'
39+
stdout '"GCCGO": "nodefault"'
3740

3841
[GOOS:windows] env GOOS=linux
3942
[!GOOS:windows] env GOOS=windows

0 commit comments

Comments
 (0)