! RUN: %python %S/test_symbols.py %s %flang_fc1
!DEF: /m1a Module
module m1a
!DEF: /m1a/foo PUBLIC DerivedType
type :: foo
!DEF: /m1a/foo/j ObjectEntity INTEGER(4)
integer :: j
end type
end module
!DEF: /m1b Module
module m1b
!DEF: /m1b/foo PUBLIC (Function) Generic
interface foo
!DEF: /m1b/bar PUBLIC (Function) Subprogram REAL(4)
module procedure :: bar
end interface
contains
!REF: /m1b/bar
function bar()
end function
end module
!DEF: /test1a (Subroutine) Subprogram
subroutine test1a
!REF: /m1a
use :: m1a
!REF: /m1b
use :: m1b
!DEF: /test1a/foo (Function) Generic
!DEF: /test1a/x ObjectEntity TYPE(foo)
type(foo) :: x
!REF: /m1a/foo
!REF: /m1b/bar
print *, foo(1), foo()
end subroutine
!DEF: /test1b (Subroutine) Subprogram
subroutine test1b
!REF: /m1b
use :: m1b
!REF: /m1a
use :: m1a
!DEF: /test1b/foo (Function) Generic
!DEF: /test1b/x ObjectEntity TYPE(foo)
type(foo) :: x
!REF: /m1a/foo
!REF: /m1b/bar
print *, foo(1), foo()
end subroutine