46 lines
1.2 KiB
Fortran
46 lines
1.2 KiB
Fortran
! RUN: split-file %s %t
|
|
! RUN: %flang_fc1 -fsyntax-only -x cuda -module-dir %t %t/m.cuf
|
|
! RUN: not %flang_fc1 -fsyntax-only -fopenacc -module-dir %t %t/use.f90 2>&1 | FileCheck %s
|
|
! RUN: %flang_fc1 -fsyntax-only -x cuda -module-dir %t %t/m2.cuf
|
|
! RUN: %flang_fc1 -fsyntax-only -fopenacc -module-dir %t %t/use2.f90
|
|
! RUN: %flang_fc1 -fsyntax-only -x cuda -module-dir %t %t/m3.cuf
|
|
! RUN: not %flang_fc1 -fsyntax-only -fopenacc -module-dir %t %t/use3.f90 2>&1 | FileCheck --check-prefix=CHECK-M3 %s
|
|
|
|
!--- m.cuf
|
|
module modfile84m
|
|
real, device :: d
|
|
contains
|
|
attributes(device) subroutine s()
|
|
end subroutine
|
|
end module
|
|
|
|
!--- m2.cuf
|
|
module modfile84m2
|
|
contains
|
|
attributes(device) subroutine s()
|
|
end subroutine
|
|
end module
|
|
|
|
!--- m3.cuf
|
|
module modfile84m3
|
|
type dt
|
|
real, device, pointer :: dp
|
|
end type
|
|
|
|
type(dt) :: d ! Should trigger the error
|
|
end module
|
|
|
|
!--- use.f90
|
|
use modfile84m
|
|
end
|
|
|
|
!--- use2.f90
|
|
use modfile84m2
|
|
end
|
|
|
|
!--- use3.f90
|
|
use modfile84m3
|
|
end
|
|
|
|
! CHECK: error: Cannot use module file for module 'modfile84m': CUDA is not enabled, but '{{.*modfile84m.mod}}' defines CUDA symbols
|
|
! CHECK-M3: error: Cannot use module file for module 'modfile84m3': CUDA is not enabled, but '{{.*modfile84m3.mod}}' defines CUDA symbols
|