xref: /llvm-project/flang/test/Semantics/OpenMP/requires03.f90 (revision 502bea25bdc07d1811b8bfea1c2e6bfa8617f72f)
1! RUN: %python %S/../test_errors.py %s %flang -fopenmp
2! OpenMP Version 5.0
3! 2.4 Requires directive
4! Target-related clauses in 'requires' directives must come strictly before any
5! device constructs, such as target regions.
6
7subroutine f
8  !$omp target
9  !$omp end target
10end subroutine f
11
12subroutine g
13  !ERROR: REQUIRES directive with 'DYNAMIC_ALLOCATORS' clause found lexically after device construct
14  !$omp requires dynamic_allocators
15  !ERROR: REQUIRES directive with 'REVERSE_OFFLOAD' clause found lexically after device construct
16  !$omp requires reverse_offload
17  !ERROR: REQUIRES directive with 'UNIFIED_ADDRESS' clause found lexically after device construct
18  !$omp requires unified_address
19  !ERROR: REQUIRES directive with 'UNIFIED_SHARED_MEMORY' clause found lexically after device construct
20  !$omp requires unified_shared_memory
21end subroutine g
22