Retro68/gcc/gcc/testsuite/gfortran.dg/dtio_15.f90
2018-12-28 16:30:48 +01:00

34 lines
990 B
Fortran

! { dg-do run }
! Test that inquire of string internal unit in child process errors.
module string_m
implicit none
type person
character(10) :: aname
integer :: ijklmno
contains
procedure :: write_s
generic :: write(formatted) => write_s
end type person
contains
subroutine write_s (this, lun, iotype, vlist, istat, imsg)
class(person), intent(in) :: this
integer, intent(in) :: lun
character(len=*), intent(in) :: iotype
integer, intent(in) :: vlist(:)
integer, intent(out) :: istat
character(len=*), intent(inout) :: imsg
integer :: filesize
inquire( unit=lun, size=filesize, iostat=istat, iomsg=imsg)
if (istat /= 0) return
end subroutine write_s
end module string_m
program p
use string_m
type(person) :: s
character(len=12) :: msg
integer :: istat
character(len=256) :: imsg = ""
write( msg, "(DT)", iostat=istat) s
if (istat /= 5018) STOP 1
end program p