| ! RUN: %python %S/test_modfile.py %s %flang_fc1 |
| 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 |