mirror of
https://github.com/golang/go
synced 2024-11-19 15:05:00 -07:00
cmd/go: more refined handling of cmd/compile magic environment variables
Per discussion with David Chase, need to check GOSSAHASH$n for increasing n until one is missing. Also if GSHS_LOGFILE is set, the compiler writes to that file, so arrange never to cache in that case. Change-Id: I3931b4e296251b99abab9bbbbbdcf94ae8c1e2a6 Reviewed-on: https://go-review.googlesource.com/77111 Reviewed-by: David Chase <drchase@google.com>
This commit is contained in:
parent
f768693f58
commit
c2e26fad3b
@ -223,7 +223,6 @@ func (b *Builder) buildActionID(a *Action) cache.ActionID {
|
||||
"GOCLOBBERDEADHASH",
|
||||
"GOSSAFUNC",
|
||||
"GO_SSA_PHI_LOC_CUTOFF",
|
||||
"GSHS_LOGFILE",
|
||||
"GOSSAHASH",
|
||||
}
|
||||
for _, env := range magic {
|
||||
@ -231,6 +230,23 @@ func (b *Builder) buildActionID(a *Action) cache.ActionID {
|
||||
fmt.Fprintf(h, "magic %s=%s\n", env, x)
|
||||
}
|
||||
}
|
||||
if os.Getenv("GOSSAHASH") != "" {
|
||||
for i := 0; ; i++ {
|
||||
env := fmt.Sprintf("GOSSAHASH%d", i)
|
||||
x := os.Getenv(env)
|
||||
if x == "" {
|
||||
break
|
||||
}
|
||||
fmt.Fprintf(h, "magic %s=%s\n", env, x)
|
||||
}
|
||||
}
|
||||
if os.Getenv("GSHS_LOGFILE") != "" {
|
||||
// Clumsy hack. Compiler writes to this log file,
|
||||
// so do not allow use of cache at all.
|
||||
// We will still write to the cache but it will be
|
||||
// essentially unfindable.
|
||||
fmt.Fprintf(h, "nocache %d\n", time.Now().UnixNano())
|
||||
}
|
||||
}
|
||||
|
||||
// Input files.
|
||||
|
Loading…
Reference in New Issue
Block a user