1! { dg-do run }
2!
3! Tests runtime check of the required type in dtio formatted read.
4!
5module usertypes
6  type udt
7     integer :: myarray(15)
8  end type udt
9  type, extends(udt) :: more
10    integer :: itest = -25
11  end type
12
13end  module usertypes
14
15program test1
16  use usertypes
17  type (udt) :: udt1
18  type (more) :: more1
19  class (more), allocatable :: somemore
20  integer  :: thesize, i, ios
21  character(100) :: errormsg
22
23  read (10, fmt='(dt)', advance='no', size=thesize, iostat=ios, &
24            & iomsg=errormsg) i, udt1
25  if (ios.ne.5006) STOP 1
26  if (errormsg(27:47).ne."intrinsic type passed") STOP 2
27end program test1
28