blob: 14af6aecc7d4ec0617041cff468238751ad508c7 [file] [log] [blame]
! { dg-do compile }
!
! PR fortran/90111
!
! Check that OpenACC directives in everywhere in specification part,
! i.e. it may appear before/after the use, import, implicit, and declaration
!
module m
end module m
subroutine foo0(kk)
use m
implicit none
integer :: jj, kk
!$acc routine
end
subroutine foo1()
use m
implicit none
!$acc routine
integer :: jj
end
subroutine foo2()
use m
!$acc routine
implicit none
end
subroutine foo3()
!$acc routine
use m
implicit none
end
module m2
interface
subroutine foo0(kk)
use m
import
implicit none
integer :: kk
!$acc routine
end
subroutine foo1()
use m
import
implicit none
!$acc routine
end
subroutine foo2()
use m
import
!$acc routine
implicit none
end
subroutine foo3()
use m
!$acc routine
import
implicit none
end
subroutine foo4()
use m
!$acc routine
import
implicit none
end
end interface
end module m2
subroutine bar0()
use m
implicit none
integer :: ii
!$acc declare copyin(ii)
end
subroutine bar1()
use m
implicit none
!$acc declare copyin(ii)
integer :: ii
end
subroutine bar2()
use m
!$acc declare copyin(ii)
implicit none
integer :: ii
end
subroutine bar3()
!$acc declare copyin(ii)
use m
implicit none
integer :: ii
end