| ! Test that IOLENGTH works for derived types containing arrays |
| module iolength_2_mod |
| integer, parameter :: & |
| ! 32 bit, i.e. 4 byte integer (every gcc architecture should have this?) |
| int32 = selected_int_kind(9), & |
| ! IEEE double precision, i.e. 8 bytes |
| dp = selected_real_kind(15, 307) |
| type foo |
| ! This type should take up 5*4+4+8=32 bytes |
| integer(int32) :: a(5), b |
| real(dp) :: c |
| end type foo |
| end module iolength_2_mod |
| |
| program iolength_2 |
| use iolength_2_mod |
| implicit none |
| integer :: iol |
| type(foo) :: d |
| inquire (iolength = iol) d |
| if ( 32 /= iol) then |
| call abort |
| end if |
| end program iolength_2 |