| ! REQUIRES: openmp_runtime |
| |
| ! RUN: %python %S/../test_errors.py %s %flang %openmp_flags -fopenmp-version=60 |
| ! OpenMP Version 6.0 |
| ! 14.1 Interop construct |
| ! In OpenMP 6.0 the interop-type modifier on an INIT clause is optional, so |
| ! INIT(obj) alone is accepted. A DEPEND clause, however, requires the |
| ! interop-type to include TARGETSYNC, which an untyped INIT does not provide, |
| ! so INIT(obj) combined with DEPEND is diagnosed. |
| |
| SUBROUTINE test_interop_untyped() |
| USE omp_lib |
| INTEGER(OMP_INTEROP_KIND) :: obj |
| !$OMP INTEROP INIT(obj) |
| PRINT *, 'pass' |
| END SUBROUTINE test_interop_untyped |
| |
| SUBROUTINE test_interop_untyped_depend() |
| USE omp_lib |
| INTEGER(OMP_INTEROP_KIND) :: obj |
| !ERROR: A DEPEND clause can only appear on the directive if the interop-type includes TARGETSYNC |
| !$OMP INTEROP INIT(obj) DEPEND(INOUT: obj) |
| PRINT *, 'pass' |
| END SUBROUTINE test_interop_untyped_depend |