1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
! { dg-do run }
! PR 83436 - this used to cause an error.
! Original test case by Daan van Vugt.
module mod_random_seed
implicit none
contains
!> Read an int from /dev/urandom
subroutine read_urandom_int(seed, ierr)
implicit none
integer, intent(out) :: seed
integer, intent(out) :: ierr
integer :: un
character(len=80) :: restart_file
write(restart_file,'(A,A)') 'jorek', '_restart.h5'
open(newunit=un, file="/dev/urandom", access="stream", &
form="unformatted", action="read", status="old", iostat=ierr)
if (ierr == 0) then
read(un) seed
close(un)
end if
end subroutine read_urandom_int
end module mod_random_seed
program test_random_seed
use mod_random_seed
implicit none
integer :: seed, ierr
call read_urandom_int(seed, ierr)
end program test_random_seed
|