forked from OSchip/llvm-project
54 lines
1.0 KiB
Fortran
54 lines
1.0 KiB
Fortran
! RUN: %S/test_symbols.sh %s %flang %t
|
|
! Test host association in module subroutine and internal subroutine.
|
|
|
|
!DEF: /m Module
|
|
module m
|
|
!DEF: /m/t PUBLIC DerivedType
|
|
type :: t
|
|
end type
|
|
!REF: /m/t
|
|
!DEF: /m/x PUBLIC ObjectEntity TYPE(t)
|
|
type(t) :: x
|
|
interface
|
|
!DEF: /m/s3 MODULE, PUBLIC (Subroutine) Subprogram
|
|
!DEF: /m/s3/y ObjectEntity TYPE(t)
|
|
module subroutine s3(y)
|
|
!REF: /m/t
|
|
!REF: /m/s3/y
|
|
type(t) :: y
|
|
end subroutine
|
|
end interface
|
|
contains
|
|
!DEF: /m/s PUBLIC (Subroutine) Subprogram
|
|
subroutine s
|
|
!REF: /m/t
|
|
!DEF: /m/s/y ObjectEntity TYPE(t)
|
|
type(t) :: y
|
|
!REF: /m/s/y
|
|
!REF: /m/x
|
|
y = x
|
|
!DEF: /m/s/s (Subroutine) HostAssoc
|
|
call s
|
|
contains
|
|
!DEF: /m/s/s2 (Subroutine) Subprogram
|
|
subroutine s2
|
|
!REF: /m/x
|
|
!REF: /m/s/y
|
|
!REF: /m/t
|
|
!REF: /m/s/s
|
|
import, only: x, y, t, s
|
|
!REF: /m/t
|
|
!DEF: /m/s/s2/z ObjectEntity TYPE(t)
|
|
type(t) :: z
|
|
!REF: /m/s/s2/z
|
|
!REF: /m/x
|
|
z = x
|
|
!REF: /m/s/s2/z
|
|
!REF: /m/s/y
|
|
z = y
|
|
!REF: /m/s/s
|
|
call s
|
|
end subroutine
|
|
end subroutine
|
|
end module
|