1! RUN: %S/test_symbols.sh %s %t %flang_fc1 -fopenmp
2! REQUIRES: shell
3! OpenMP Version 4.5
4! 2.7.1 Loop Construct restrictions on single directive.
5! A positive case
6
7!DEF: /omp_do MainProgram
8program omp_do
9  !DEF: /omp_do/i ObjectEntity INTEGER(4)
10  !DEF: /omp_do/n ObjectEntity INTEGER(4)
11  integer i,n
12  !$omp parallel
13  !DEF: /omp_do/Block1/i (OmpPrivate, OmpPreDetermined) HostAssoc INTEGER(4)
14  do i=1,10
15    !$omp single
16    print *, "hello"
17    !$omp end single
18  end do
19  !$omp end parallel
20
21  !$omp parallel  default(shared)
22  !$omp do
23  !DEF: /omp_do/Block2/Block1/i (OmpPrivate, OmpPreDetermined) HostAssoc INTEGER(4)
24  !REF: /omp_do/n
25  do i=1,n
26    !$omp parallel
27    !$omp single
28    !DEF: /work EXTERNAL (Subroutine) ProcEntity
29    !REF: /omp_do/Block2/Block1/i
30    call work(i, 1)
31    !$omp end single
32    !$omp end parallel
33  end do
34  !$omp end do
35  !$omp end parallel
36
37end program omp_do
38