diff options
author | Janne Blomqvist <jb@gcc.gnu.org> | 2019-08-13 12:04:18 +0300 |
---|---|---|
committer | Janne Blomqvist <jb@gcc.gnu.org> | 2019-08-13 12:04:18 +0300 |
commit | f77d27597dd0556c2a788476f52cf7ef4a5c44be (patch) | |
tree | dad47fb31ce74cdaa1f9898f45c9bee0d27f084c /libgfortran/intrinsics/random.c | |
parent | 0e99e0933984e0c30fda1d089bfbd6857fc9273f (diff) | |
download | gcc-f77d27597dd0556c2a788476f52cf7ef4a5c44be.zip gcc-f77d27597dd0556c2a788476f52cf7ef4a5c44be.tar.gz gcc-f77d27597dd0556c2a788476f52cf7ef4a5c44be.tar.bz2 |
PR fortran/91414 Bugfix for previous commit
Correctly fill master_seed from os_seed.
From-SVN: r274365
Diffstat (limited to 'libgfortran/intrinsics/random.c')
-rw-r--r-- | libgfortran/intrinsics/random.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/libgfortran/intrinsics/random.c b/libgfortran/intrinsics/random.c index cad21fe..dd2c46e 100644 --- a/libgfortran/intrinsics/random.c +++ b/libgfortran/intrinsics/random.c @@ -358,7 +358,10 @@ init_rand_state (prng_state* rs, const bool locked) uint64_t os_seed; getosrandom (&os_seed, sizeof (os_seed)); for (uint64_t i = 0; i < sizeof (master_state) / sizeof (uint64_t); i++) - master_state[i] = splitmix64 (os_seed); + { + os_seed = splitmix64 (os_seed); + master_state[i] = os_seed; + } njumps = 0; master_init = true; } |