backport: re PR fortran/83436 (Internal file cannot be accessed by UNFORMATTED data transfer when reading from /dev/urandom)
2017-12-21 Thomas Koenig <tkoenig@gcc.gnu.org> Backport from trunk PR fortran/83436 * gfortran.dg/internal_readwrite_4.f90: New test. From-SVN: r255940
This commit is contained in:
parent
0e927c845c
commit
44612ae164
@ -1,3 +1,9 @@
|
||||
2017-12-21 Thomas Koenig <tkoenig@gcc.gnu.org>
|
||||
|
||||
Backport from trunk
|
||||
PR fortran/83436
|
||||
* gfortran.dg/internal_readwrite_4.f90: New test.
|
||||
|
||||
2017-12-19 Bin Cheng <bin.cheng@arm.com>
|
||||
|
||||
Backport from mainline
|
||||
|
30
gcc/testsuite/gfortran.dg/internal_readwrite_4.f90
Normal file
30
gcc/testsuite/gfortran.dg/internal_readwrite_4.f90
Normal file
@ -0,0 +1,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
|
Loading…
Reference in New Issue
Block a user