blob: 06370e229318287d594585afc1ba1b1201b10b8a [file] [edit]
!RUN: %python %S/../test_symbols.py %s %flang_fc1 -fopenmp -fopenmp-version=52
!DEF: /f00 (Subroutine) Subprogram
subroutine f00
implicit none
!DEF: /f00/n PARAMETER ObjectEntity INTEGER(4)
integer, parameter :: n = 1024
!DEF: /f00/i ObjectEntity INTEGER(4)
!DEF: /f00/j ObjectEntity INTEGER(4)
!DEF: /f00/k ObjectEntity INTEGER(4)
!DEF: /f00/array ObjectEntity INTEGER(4)
!REF: /f00/n
integer i, j, k, array(n, n, n)
!The i and j are predetermined private as loop induction variables nested
!in a teams construct.
!$omp target teams distribute default(none) shared(array)
!DEF: /f00/OtherConstruct1/i (OmpPrivate, OmpPreDetermined) HostAssoc INTEGER(4)
!REF: /f00/n
do i = 1, n
!DEF: /f00/OtherConstruct1/j (OmpPrivate, OmpPreDetermined) HostAssoc INTEGER(4)
!REF: /f00/n
do j = 1, n
!i and j are shared in parallel
!$omp parallel do shared(array)
!DEF: /f00/OtherConstruct1/OtherConstruct1/k (OmpPrivate, OmpPreDetermined) HostAssoc INTEGER(4)
!REF: /f00/n
do k = 1, n
!DEF: /f00/OtherConstruct1/OtherConstruct1/array (OmpShared, OmpExplicit) HostAssoc INTEGER(4)
!DEF: /f00/OtherConstruct1/OtherConstruct1/i (OmpShared) HostAssoc INTEGER(4)
!DEF: /f00/OtherConstruct1/OtherConstruct1/j (OmpShared) HostAssoc INTEGER(4)
!REF: /f00/OtherConstruct1/OtherConstruct1/k
array(i, j, k) = i + j + k
enddo
enddo
enddo
end subroutine