mirror of
https://github.com/llvm/llvm-project.git
synced 2025-04-17 03:46:46 +00:00

In the USE statements that f18 emits to module files, ensure that symbols from intrinsic modules are marked as such on their USE statements. And ensure that the current working directory (".") cannot override the intrinsic module search path when trying to locate an intrinsic module. Differential Revision: https://reviews.llvm.org/D127019
42 lines
802 B
Fortran
42 lines
802 B
Fortran
! RUN: %python %S/test_modfile.py %s %flang_fc1
|
|
|
|
! Check modfile that contains import of use-assocation of another use-association.
|
|
|
|
module m1
|
|
interface
|
|
subroutine s(x)
|
|
use, intrinsic :: iso_c_binding, only: c_ptr
|
|
type(c_ptr) :: x
|
|
end subroutine
|
|
end interface
|
|
end module
|
|
!Expect: m1.mod
|
|
!module m1
|
|
! interface
|
|
! subroutine s(x)
|
|
! use,intrinsic::iso_c_binding, only: c_ptr
|
|
! type(c_ptr) :: x
|
|
! end
|
|
! end interface
|
|
!end
|
|
|
|
module m2
|
|
use, intrinsic :: iso_c_binding, only: c_ptr
|
|
interface
|
|
subroutine s(x)
|
|
import :: c_ptr
|
|
type(c_ptr) :: x
|
|
end subroutine
|
|
end interface
|
|
end module
|
|
!Expect: m2.mod
|
|
!module m2
|
|
! use,intrinsic::iso_c_binding,only:c_ptr
|
|
! interface
|
|
! subroutine s(x)
|
|
! import::c_ptr
|
|
! type(c_ptr)::x
|
|
! end
|
|
! end interface
|
|
!end
|