46 lines
1.3 KiB
Fortran
46 lines
1.3 KiB
Fortran
!RUN: %python %S/../test_errors.py %s %flang -fopenmp -fopenmp-version=50
|
|
|
|
subroutine f00
|
|
integer :: obj
|
|
!ERROR: A DEPEND clause on a DEPOBJ construct must not have SINK, SOURCE or DEPOBJ as dependence type
|
|
!$omp depobj(obj) depend(source)
|
|
end
|
|
|
|
subroutine f01
|
|
integer :: obj
|
|
integer :: x, y
|
|
!ERROR: A DEPEND clause on a DEPOBJ construct must only specify one locator
|
|
!$omp depobj(obj) depend(in: x, y)
|
|
end
|
|
|
|
subroutine f02
|
|
integer :: obj
|
|
integer :: x(10)
|
|
!WARNING: An iterator-modifier may specify multiple locators, a DEPEND clause on a DEPOBJ construct must only specify one locator
|
|
!$omp depobj(obj) depend(iterator(i = 1:10), in: x(i))
|
|
end
|
|
|
|
subroutine f03
|
|
integer :: obj, jbo
|
|
!ERROR: The DESTROY clause must refer to the same object as the DEPOBJ construct
|
|
!WARNING: The object parameter in DESTROY clause on DEPOPJ construct is not allowed in OpenMP v5.0, try -fopenmp-version=52
|
|
!$omp depobj(obj) destroy(jbo)
|
|
end
|
|
|
|
subroutine f04
|
|
integer :: obj1, obj2
|
|
!ERROR: The DEPOBJ directive requires a single argument
|
|
!$omp depobj(ob1, obj2) destroy
|
|
end
|
|
|
|
subroutine f05
|
|
!ERROR: The DEPOBJ directive requires a single argument
|
|
!$omp depobj update(in)
|
|
end
|
|
|
|
subroutine f06
|
|
integer :: obj
|
|
!ERROR: The DEPOBJ construct requires a single clause
|
|
!$omp depobj(obj) update(in) destroy
|
|
end
|