mirror of
https://github.com/golang/go
synced 2024-11-23 23:20:08 -07:00
cmd/compile: seed rand with time when race enabled
When the race detector is enabled, the compiler randomizes the order in which functions are compiled, in an attempt to shake out bugs. But we never re-seed the rand source, so every execution is identical. Fix that to get more coverage. Change-Id: If5cdde03ef4f1bab5f45e07f03fb6614945481d7 Reviewed-on: https://go-review.googlesource.com/43572 Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
This commit is contained in:
parent
7555a45dc2
commit
ff262913fe
@ -16,6 +16,7 @@ import (
|
|||||||
"math/rand"
|
"math/rand"
|
||||||
"sort"
|
"sort"
|
||||||
"sync"
|
"sync"
|
||||||
|
"time"
|
||||||
)
|
)
|
||||||
|
|
||||||
// "Portable" code generation.
|
// "Portable" code generation.
|
||||||
@ -249,6 +250,12 @@ func compileSSA(fn *Node, worker int) {
|
|||||||
pp.Free()
|
pp.Free()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func init() {
|
||||||
|
if raceEnabled {
|
||||||
|
rand.Seed(time.Now().UnixNano())
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// compileFunctions compiles all functions in compilequeue.
|
// compileFunctions compiles all functions in compilequeue.
|
||||||
// It fans out nBackendWorkers to do the work
|
// It fans out nBackendWorkers to do the work
|
||||||
// and waits for them to complete.
|
// and waits for them to complete.
|
||||||
|
Loading…
Reference in New Issue
Block a user