xref: /llvm-project/flang/test/Semantics/modfile08.f90 (revision dc453dcf760e6d558da3a4d7fff301baa5f37aba)
1*dc453dcfSIvan Zhechev! RUN: %python %S/test_modfile.py %s %flang_fc1
264ab3302SCarolineConcatto! Check modfile generation for external declarations
364ab3302SCarolineConcattomodule m
464ab3302SCarolineConcatto  real, external :: a
564ab3302SCarolineConcatto  logical b
664ab3302SCarolineConcatto  external c
764ab3302SCarolineConcatto  complex c
864ab3302SCarolineConcatto  external b, d
964ab3302SCarolineConcatto  procedure() :: e
1064ab3302SCarolineConcatto  procedure(real) :: f
1164ab3302SCarolineConcatto  procedure(s) :: g
1264ab3302SCarolineConcatto  type t
1364ab3302SCarolineConcatto    procedure(), pointer, nopass :: e
1464ab3302SCarolineConcatto    procedure(real), nopass, pointer :: f
1564ab3302SCarolineConcatto    procedure(s), private, pointer :: g
1664ab3302SCarolineConcatto  end type
1764ab3302SCarolineConcattocontains
1864ab3302SCarolineConcatto  subroutine s(x)
1964ab3302SCarolineConcatto    class(t) :: x
2064ab3302SCarolineConcatto  end
2164ab3302SCarolineConcattoend
2264ab3302SCarolineConcatto
2364ab3302SCarolineConcatto!Expect: m.mod
2464ab3302SCarolineConcatto!module m
2564ab3302SCarolineConcatto!  procedure(real(4))::a
2664ab3302SCarolineConcatto!  procedure(logical(4))::b
2764ab3302SCarolineConcatto!  procedure(complex(4))::c
2864ab3302SCarolineConcatto!  procedure()::d
2964ab3302SCarolineConcatto!  procedure()::e
3064ab3302SCarolineConcatto!  procedure(real(4))::f
3164ab3302SCarolineConcatto!  procedure(s)::g
3264ab3302SCarolineConcatto!  type::t
3364ab3302SCarolineConcatto!    procedure(),nopass,pointer::e
3464ab3302SCarolineConcatto!    procedure(real(4)),nopass,pointer::f
3564ab3302SCarolineConcatto!    procedure(s),pointer,private::g
3664ab3302SCarolineConcatto!  end type
3764ab3302SCarolineConcatto!contains
3864ab3302SCarolineConcatto!  subroutine s(x)
3964ab3302SCarolineConcatto!    class(t)::x
4064ab3302SCarolineConcatto!  end
4164ab3302SCarolineConcatto!end
42