| !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 | |