]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
PR fortran/91414 Correctly fill master_state from os_seed.
authorJanne Blomqvist <jb@gcc.gnu.org>
Tue, 13 Aug 2019 09:02:25 +0000 (12:02 +0300)
committerJanne Blomqvist <jb@gcc.gnu.org>
Tue, 13 Aug 2019 09:02:25 +0000 (12:02 +0300)
From-SVN: r274364

libgfortran/intrinsics/random.c

index 75d1315e450ca0aa2bc7b7b25381385687cd29bd..5d81bcba74a9687e4b00857bfadddb12bc5e6323 100644 (file)
@@ -349,7 +349,10 @@ init_rand_state (xorshift1024star_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;
     }