! RUN: %python %S/test_modfile.py %s %flang_fc1
! modfile with subprograms

module m1
  type :: t
  end type
contains

  pure subroutine Ss(x, y) bind(c)
    logical(1) x
    intent(inout) y
    intent(in) x
  end subroutine

  real function f1() result(x)
    x = 1.0
  end function

  function f2(y)
    complex y
    f2 = 2.0
  end function

end

module m2
contains
  type(t) function f3(x)
    use m1
    integer, parameter :: a = 2
    type t2(b)
      integer, kind :: b = a
      integer :: y
    end type
    type(t2) :: x
  end
  function f4() result(x)
    implicit complex(x)
  end
end

! Module with a subroutine with alternate returns
module m3
contains
  subroutine altReturn(arg1, arg2, *, *)
    real :: arg1
    real :: arg2
  end subroutine
end module m3

!Expect: m1.mod
!module m1
!type::t
!end type
!contains
!pure subroutine ss(x,y) bind(c)
!logical(1),intent(in)::x
!real(4),intent(inout)::y
!end
!function f1() result(x)
!real(4)::x
!end
!function f2(y)
!complex(4)::y
!real(4)::f2
!end
!end

!Expect: m2.mod
!module m2
!contains
!function f3(x)
! use m1,only:t
! type::t2(b)
!  integer(4),kind::b=2_4
!  integer(4)::y
! end type
! type(t2(b=2_4))::x
! type(t)::f3
!end
!function f4() result(x)
!complex(4)::x
!end
!end

!Expect: m3.mod
!module m3
!contains
!subroutine altreturn(arg1,arg2,*,*)
!real(4)::arg1
!real(4)::arg2
!end
!end
