! RUN: %python %S/../test_modfile.py %s %flang_fc1 -fopenacc module acc_mod real :: data_create(100) !$acc declare create(data_create) real :: data_copyin(10) !$acc declare copyin(data_copyin) real :: data_copyinro(10) !$acc declare copyin(readonly: data_copyinro) real :: data_device_resident(20) !$acc declare device_resident(data_device_resident) integer :: data_link(50) !$acc declare link(data_link) !$acc routine(sub10) seq contains subroutine sub1() !$acc routine end subroutine subroutine sub2() !$acc routine seq end subroutine subroutine sub3() !$acc routine gang end subroutine subroutine sub4() !$acc routine vector end subroutine subroutine sub5() !$acc routine worker end subroutine subroutine sub6() !$acc routine gang(dim:2) end subroutine subroutine sub7() !$acc routine bind("sub7_") end subroutine subroutine sub8() !$acc routine bind(sub7) end subroutine subroutine sub9() !$acc routine vector !$acc routine seq bind(sub7) !$acc routine gang bind(sub8) end subroutine subroutine sub10() end subroutine subroutine sub11() !$acc routine device_type(nvidia) gang device_type(*) seq end subroutine subroutine sub12() !$acc routine device_type(host) bind(sub7) device_type(multicore) bind(sub8) end subroutine end module !Expect: acc_mod.mod ! module acc_mod ! real(4)::data_create(1_8:100_8) ! !$acc declare create(data_create) ! real(4)::data_copyin(1_8:10_8) ! !$acc declare copyin(data_copyin) ! real(4)::data_copyinro(1_8:10_8) ! !$acc declare copyin(readonly: data_copyinro) ! real(4)::data_device_resident(1_8:20_8) ! !$acc declare device_resident(data_device_resident) ! integer(4)::data_link(1_8:50_8) ! !$acc declare link(data_link) ! contains ! subroutine sub1() ! !$acc routine ! end ! subroutine sub2() ! !$acc routine seq ! end ! subroutine sub3() ! !$acc routine gang ! end ! subroutine sub4() ! !$acc routine vector ! end ! subroutine sub5() ! !$acc routine worker ! end ! subroutine sub6() ! !$acc routine gang(dim:2) ! end ! subroutine sub7() ! !$acc routine bind("sub7_") ! end ! subroutine sub8() ! !$acc routine bind(sub7) ! end ! subroutine sub9() ! !$acc routine vector ! !$acc routine seq bind(sub7) ! !$acc routine gang bind(sub8) ! end ! subroutine sub10() ! !$acc routine seq ! end ! subroutinesub11() ! !$acc routine device_type(nvidia) gang device_type(*) seq ! end ! subroutinesub12() ! !$acc routine device_type(host) bind(sub7) device_type(multicore) bind(sub8) ! end ! end