! RUN: %python %S/test_modfile.py %s %flang_fc1 ! Sanity check for CUDA Fortran attributes in module files module m attributes(device) dd real, managed, allocatable :: md real, pinned, allocatable :: mp attributes(constant) cd type dt real, device, pointer :: dp end type contains attributes(global) subroutine globsub(x,y,z) real, value :: x real, device :: y real, managed :: z end subroutine attributes(host,device) real function foo(x) foo = x + 1. end function attributes(host) subroutine hostsub(a) integer, intent(out) :: a(14) a = 99 end subroutine end !Expect: m.mod !module m !real(4),device::dd !real(4),allocatable,managed::md !real(4),allocatable,pinned::mp !real(4),constant::cd !type::dt !real(4),pointer,device::dp !end type !contains !attributes(global) subroutine globsub(x,y,z) !real(4),value::x !real(4),device::y !real(4),managed::z !end !attributes(host,device) function foo(x) !real(4)::x !real(4)::foo !end !attributes(host)subroutinehostsub(a) !integer(4),intent(out)::a(1_8:14_8) !end !end