Provides an abstraction for a random number generator (RNG) that produces a stream of pseudo-random numbers.
The current implementation uses C++11 facilities and is therefore not cryptographically secure.
The RNG is salted with the text of the current command line invocation.
In addition, a user may specify a seed (reproducible builds).
In clang, the seed can be set via
-frandom-seed=X
In the back end, the seed can be set via
-rng-seed=X
This is the clang part of the patch.
LLVM part: D3390
@ahomescu
Are we sure that we want repeatable builds across machines?
@jfb
"The LLVM git source hash would meet this requirement."
I am not sure I understand, can you elaborate?