forked from OSchip/llvm-project
66 lines
1.3 KiB
Fortran
66 lines
1.3 KiB
Fortran
module m
|
|
integer(8), parameter :: a = 1, b = 2_8
|
|
parameter(n=3,l=-3,e=1.0/3.0)
|
|
real :: x(a:2*(a+b*n)-1)
|
|
real, dimension(8) :: y
|
|
type t(c, d)
|
|
integer, kind :: c = 1
|
|
integer, len :: d = a + b
|
|
end type
|
|
type(t(a+3,:)), allocatable :: z
|
|
class(t(a+4,:)), allocatable :: z2
|
|
class(*), allocatable :: z4
|
|
real*2 :: f
|
|
complex*32 :: g
|
|
type t2(i, j, h)
|
|
integer, len :: h
|
|
integer, kind :: j
|
|
integer, len :: i
|
|
end type
|
|
contains
|
|
subroutine foo(x)
|
|
real :: x(2:)
|
|
end
|
|
subroutine bar(x)
|
|
real :: x(..)
|
|
end
|
|
subroutine baz(x)
|
|
type(*) :: x
|
|
end
|
|
end
|
|
|
|
!Expect: m.mod
|
|
!module m
|
|
! integer(8),parameter::a=1_8
|
|
! integer(8),parameter::b=2_8
|
|
! integer(4),parameter::n=3_4
|
|
! integer(4),parameter::l=-3_4
|
|
! real(4),parameter::e=3.333333432674407958984375e-1_4
|
|
! real(4)::x(1_8:13_8)
|
|
! real(4)::y(1_8:8_8)
|
|
! type::t(c,d)
|
|
! integer(4),kind::c=1_4
|
|
! integer(4),len::d=3_4
|
|
! end type
|
|
! type(t(c=4_4,d=:)),allocatable::z
|
|
! class(t(c=5_4,d=:)),allocatable::z2
|
|
! class(*),allocatable::z4
|
|
! real(2)::f
|
|
! complex(16)::g
|
|
! type::t2(i,j,h)
|
|
! integer(4),len::h
|
|
! integer(4),kind::j
|
|
! integer(4),len::i
|
|
! end type
|
|
!contains
|
|
! subroutine foo(x)
|
|
! real(4)::x(2_8:)
|
|
! end
|
|
! subroutine bar(x)
|
|
! real(4)::x(..)
|
|
! end
|
|
! subroutine baz(x)
|
|
! type(*)::x
|
|
! end
|
|
!end
|