! { dg-do run } ! { dg-options "-fdefault-integer-8" } ! program trs implicit none integer :: size, ierr integer, allocatable, dimension(:) :: seed, check call test_random_seed(size) allocate(seed(size),check(size)) seed(:) = huge(seed) / 17 call test_random_seed(put=seed) call test_random_seed(get=check) ! In the current xorshift1024* implementation the last seed value is ! special seed(size) = check(size) if (any (seed /= check)) STOP 1 contains subroutine test_random_seed(size, put, get) integer, optional :: size integer, dimension(:), optional :: put integer, dimension(:), optional :: get call random_seed(size, put, get) end subroutine test_random_seed end program trs