xref: /llvm-project/flang/test/Semantics/OpenMP/loop-bind.f90 (revision 50e73aeea2a7e2cbaeb66252aadea9a6144937df)
1! RUN: %python %S/../test_errors.py %s %flang -fopenmp -fopenmp-version=50
2
3! OpenMP Version 5.0
4! Check OpenMP construct validity for the following directives:
5! 11.7 Loop directive
6
7program main
8  integer :: i, x
9
10  !$omp teams
11  !ERROR: `BIND(TEAMS)` must be specified since the `LOOP` region is strictly nested inside a `TEAMS` region.
12  !$omp loop bind(thread)
13  do i = 1, 10
14    x = x + 1
15  end do
16  !$omp end loop
17  !$omp end teams
18
19  !ERROR: `BIND(TEAMS)` must be specified since the `LOOP` directive is combined with a `TEAMS` construct.
20  !$omp target teams loop bind(thread)
21  do i = 1, 10
22    x = x + 1
23  end do
24  !$omp end target teams loop
25
26  !ERROR: `BIND(TEAMS)` must be specified since the `LOOP` directive is combined with a `TEAMS` construct.
27  !$omp teams loop bind(thread)
28  do i = 1, 10
29    x = x + 1
30  end do
31  !$omp end teams loop
32
33end program main
34