2017-09-17 Paul Thomas <pault@gcc.gnu.org>
[official-gcc.git] / gcc / testsuite / gfortran.dg / pdt_11.f03
blob42113ae6b2bd9af9900e43894f9b22a5b114442a
1 ! { dg-do run }
3 ! Rolls together 'len_par_06_pos.f90' and 'len_par_07_pos.f90', both of which
4 ! failed to compile.
6 ! Contributed by Reinhold Bader  <reinhold.bader@lrz.de>
8 module m_type_decs
10   implicit none
12   type :: matrix(rk, n, m)
13      integer, kind :: rk
14      integer, len :: n = 15, m = 20
15      real(rk) :: entry(n, m)
16   end type matrix
18   type :: fdef(rk, n)
19      integer, kind :: rk = kind(1.0)
20      integer, len :: n = 15
21   end type
23 end module
25 program test
27   use m_type_decs
28   implicit none
29   integer, parameter :: rk1=kind(1.d0)
30   type(matrix(rk1,:,:)), allocatable :: o_matrix
31   type(fdef(n=:)), allocatable :: o_fdef
33   allocate(matrix(rk=rk1)::o_matrix)
35   if (o_matrix%n == 15 .and. o_matrix%m == 20) then
36      write(*,*) 'o_matrix OK'
37   else
38      write(*,*) 'o_matrix FAIL'
39      call abort
40   end if
42   allocate(fdef(n=12)::o_fdef)
44   if (o_fdef%n == 12) then
45      write(*,*) 'o_fdef OK'
46   else
47      write(*,*) 'o_fdef FAIL'
48      call abort
49   end if
50 end program test