aboutsummaryrefslogtreecommitdiff
path: root/libgfortran
diff options
context:
space:
mode:
authorJanne Blomqvist <jb@gcc.gnu.org>2019-08-13 12:04:18 +0300
committerJanne Blomqvist <jb@gcc.gnu.org>2019-08-13 12:04:18 +0300
commitf77d27597dd0556c2a788476f52cf7ef4a5c44be (patch)
treedad47fb31ce74cdaa1f9898f45c9bee0d27f084c /libgfortran
parent0e99e0933984e0c30fda1d089bfbd6857fc9273f (diff)
PR fortran/91414 Bugfix for previous commit
Correctly fill master_seed from os_seed. From-SVN: r274365
Diffstat (limited to 'libgfortran')
-rw-r--r--libgfortran/intrinsics/random.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/libgfortran/intrinsics/random.c b/libgfortran/intrinsics/random.c
index cad21fedb57..dd2c46e7ef5 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;
}