blob: 67c9d5d72ebbd61e9e2eb1c98c2bfa11d0ed8f6e [file] [log] [blame] [edit]
! RUN: %python %S/test_errors.py %s %flang_fc1 -fopenacc
subroutine implicitDeviceInSameFile(v)
real, device :: v(10)
end
subroutine implicitNonDeviceInSameFile(v)
real :: v(10)
end
program p
real, device :: dev(10)
real :: host(10)
interface
subroutine explicitDevice(v)
real, device :: v(10)
end
subroutine explicitNonDevice(v)
real :: v(10)
end
end interface
!WARNING: Actual argument 'dev' with CUDA data attributes should be passed via an explicit interface [-Wcuda-usage]
call implicit1(dev)
call implicit2(host)
!WARNING: Actual argument 'dev' with CUDA data attributes should be passed via an explicit interface [-Wcuda-usage]
call implicitDeviceInSameFile(dev)
!WARNING: If the procedure's interface were explicit, this reference would be in error [-Wknown-bad-implicit-interface]
!BECAUSE: dummy argument 'v=' has ATTRIBUTES(DEVICE) but its associated actual argument has no CUDA data attribute
call implicitDeviceInSameFile(host)
!WARNING: If the procedure's interface were explicit, this reference would be in error [-Wknown-bad-implicit-interface]
!BECAUSE: dummy argument 'v=' has no CUDA data attribute but its associated actual argument has ATTRIBUTES(DEVICE)
call implicitNonDeviceInSameFile(dev)
call implicitNonDeviceInSameFile(host)
call explicitDevice(dev)
!ERROR: dummy argument 'v=' has ATTRIBUTES(DEVICE) but its associated actual argument has no CUDA data attribute
call explicitDevice(host)
!ERROR: dummy argument 'v=' has no CUDA data attribute but its associated actual argument has ATTRIBUTES(DEVICE)
call explicitNonDevice(dev)
call explicitNonDevice(host)
end