mirror of
https://github.com/autc04/Retro68.git
synced 2024-09-28 18:56:06 +00:00
53 lines
985 B
Fortran
53 lines
985 B
Fortran
! { dg-do run }
|
|
!
|
|
! Rolls together 'len_par_06_pos.f90' and 'len_par_07_pos.f90', both of which
|
|
! failed to compile.
|
|
!
|
|
! Contributed by Reinhold Bader <reinhold.bader@lrz.de>
|
|
!
|
|
module m_type_decs
|
|
|
|
implicit none
|
|
|
|
type :: matrix(rk, n, m)
|
|
integer, kind :: rk
|
|
integer, len :: n = 15, m = 20
|
|
real(rk) :: entry(n, m)
|
|
end type matrix
|
|
|
|
type :: fdef(rk, n)
|
|
integer, kind :: rk = kind(1.0)
|
|
integer, len :: n = 15
|
|
end type
|
|
|
|
end module
|
|
|
|
program test
|
|
|
|
use m_type_decs
|
|
implicit none
|
|
integer, parameter :: rk1=kind(1.d0)
|
|
type(matrix(rk1,:,:)), allocatable :: o_matrix
|
|
type(fdef(n=:)), allocatable :: o_fdef
|
|
|
|
allocate(matrix(rk=rk1)::o_matrix)
|
|
|
|
if (o_matrix%n == 15 .and. o_matrix%m == 20) then
|
|
write(*,*) 'o_matrix OK'
|
|
else
|
|
write(*,*) 'o_matrix FAIL'
|
|
STOP 1
|
|
end if
|
|
|
|
allocate(fdef(n=12)::o_fdef)
|
|
|
|
if (o_fdef%n == 12) then
|
|
write(*,*) 'o_fdef OK'
|
|
else
|
|
write(*,*) 'o_fdef FAIL'
|
|
STOP 2
|
|
end if
|
|
end program test
|
|
|
|
|