1! Test that IOLENGTH works for derived types containing arrays 2module iolength_2_mod 3 integer, parameter :: & 4 ! 32 bit, i.e. 4 byte integer (every gcc architecture should have this?) 5 int32 = selected_int_kind(9), & 6 ! IEEE double precision, i.e. 8 bytes 7 dp = selected_real_kind(15, 307) 8 type foo 9 ! This type should take up 5*4+4+8=32 bytes 10 integer(int32) :: a(5), b 11 real(dp) :: c 12 end type foo 13end module iolength_2_mod 14 15program iolength_2 16 use iolength_2_mod 17 implicit none 18 integer :: iol 19 type(foo) :: d 20 inquire (iolength = iol) d 21 if ( 32 /= iol) then 22 call abort 23 end if 24end program iolength_2 25