https://gcc.gnu.org/bugzilla/show_bug.cgi?id=52879
Dominique d'Humieres <dominiq at lps dot ens.fr> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|WAITING |NEW --- Comment #4 from Dominique d'Humieres <dominiq at lps dot ens.fr> --- > Isn't this PR fixed by revision r239356? Apparently it is not: program foo implicit none character(len=40), parameter :: fmt = '(A,33(I0,1X),A,F10.8)' integer i, seed_size, date(8) integer, allocatable :: new_seed(:), old_seed(:) real x call random_seed(size=seed_size) print *, seed_size allocate(new_seed(1:seed_size), old_seed(1:seed_size)) call random_seed(get=old_seed) print *, old_seed do i = 1, seed_size new_seed = 1 new_seed(i) = old_seed(i) call random_seed(put=new_seed) call random_number(x) write(*,fmt) 'seeds = [', new_seed, '], x = ', x end do deallocate(old_seed, new_seed) end program foo gives at runtime 33 -898577448 -1504036500 921915814 -557971666 -1458124821 1089340892 -405009840 -1532177545 1874249343 -1565011252 722389807 1033881693 -61011972 2103950240 262611246 -1017126965 1653648275 1231374486 500769179 994525438 1527804518 673201045 34392906 1157024348 -1609687550 -251439173 940224366 63468018 34920908 436668423 -808487283 -1219115328 0 seeds = [-898577448 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ], x = 0.02421916 seeds = [1 -1504036500 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ], x = 0.02421916 seeds = [1 1 921915814 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ], x = 0.02421916 seeds = [1 1 1 -557971666 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ], x = 0.02421916 seeds = [1 1 1 1 -1458124821 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ], x = 0.02421916 seeds = [1 1 1 1 1 1089340892 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ], x = 0.02421916 seeds = [1 1 1 1 1 1 -405009840 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ], x = 0.02421916 seeds = [1 1 1 1 1 1 1 -1532177545 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ], x = 0.02421916 seeds = [1 1 1 1 1 1 1 1 1874249343 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ], x = 0.02421916 seeds = [1 1 1 1 1 1 1 1 1 -1565011252 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ], x = 0.02421916 seeds = [1 1 1 1 1 1 1 1 1 1 722389807 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ], x = 0.02421916 seeds = [1 1 1 1 1 1 1 1 1 1 1 1033881693 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ], x = 0.02421916 seeds = [1 1 1 1 1 1 1 1 1 1 1 1 -61011972 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ], x = 0.02421916 seeds = [1 1 1 1 1 1 1 1 1 1 1 1 1 2103950240 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ], x = 0.02421916 seeds = [1 1 1 1 1 1 1 1 1 1 1 1 1 1 262611246 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ], x = 0.02421916 seeds = [1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1017126965 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ], x = 0.02421916 seeds = [1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1653648275 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ], x = 0.02421916 seeds = [1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1231374486 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ], x = 0.02421916 seeds = [1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 500769179 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ], x = 0.02421916 seeds = [1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 994525438 1 1 1 1 1 1 1 1 1 1 1 1 1 ], x = 0.02421916 seeds = [1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1527804518 1 1 1 1 1 1 1 1 1 1 1 1 ], x = 0.02421916 seeds = [1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 673201045 1 1 1 1 1 1 1 1 1 1 1 ], x = 0.02421916 seeds = [1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 34392906 1 1 1 1 1 1 1 1 1 1 ], x = 0.02421916 seeds = [1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1157024348 1 1 1 1 1 1 1 1 1 ], x = 0.02421916 seeds = [1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1609687550 1 1 1 1 1 1 1 1 ], x = 0.02421916 seeds = [1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -251439173 1 1 1 1 1 1 1 ], x = 0.02421916 seeds = [1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 940224366 1 1 1 1 1 1 ], x = 0.76351053 seeds = [1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 63468018 1 1 1 1 1 ], x = 0.20794845 seeds = [1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 34920908 1 1 1 1 ], x = 0.33147699 seeds = [1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 436668423 1 1 1 ], x = 0.31606442 seeds = [1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -808487283 1 1 ], x = 0.02421916 seeds = [1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1219115328 1 ], x = 0.02421916 seeds = [1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 ], x = 0.94173169 i.e., most "random" values are 0.02421916, except when the seed is not 1 in the elements between 27 and 30, or 33.