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:
Thomas Koenig 2017-12-21 10:34:35 +00:00
parent 0e927c845c
commit 44612ae164
2 changed files with 36 additions and 0 deletions

View File

@ -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

View 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