1! RUN: %S/test_symbols.sh %s %t %flang_fc1 -fopenmp 2! REQUIRES: shell 3! OpenMP Version 4.5 4! 2.7.1 Do Loop constructs. 5 6!DEF: /omp_cycle MainProgram 7program omp_cycle 8 !$omp do collapse(1) 9 !DEF: /omp_cycle/Block1/i (OmpPrivate, OmpPreDetermined) HostAssoc INTEGER(4) 10 do i=0,10 11 !REF: /omp_cycle/Block1/i 12 if (i<1) cycle 13 !DEF: /omp_cycle/j (Implicit) ObjectEntity INTEGER(4) 14 do j=0,10 15 !DEF: /omp_cycle/k (Implicit) ObjectEntity INTEGER(4) 16 do k=0,10 17 !REF: /omp_cycle/Block1/i 18 !REF: /omp_cycle/j 19 !REF: /omp_cycle/k 20 print *, i, j, k 21 end do 22 end do 23 end do 24 !$omp end do 25 26 !$omp do collapse(1) 27 !DEF: /omp_cycle/Block2/i (OmpPrivate, OmpPreDetermined) HostAssoc INTEGER(4) 28 do i=0,10 29 !REF: /omp_cycle/j 30 do j=0,10 31 !REF: /omp_cycle/Block2/i 32 if (i<1) cycle 33 !REF: /omp_cycle/k 34 do k=0,10 35 !REF: /omp_cycle/Block2/i 36 !REF: /omp_cycle/j 37 !REF: /omp_cycle/k 38 print *, i, j, k 39 end do 40 end do 41 end do 42 !$omp end do 43 44 !$omp do collapse(2) 45 !DEF: /omp_cycle/Block3/i (OmpPrivate, OmpPreDetermined) HostAssoc INTEGER(4) 46 do i=0,10 47 !DEF: /omp_cycle/Block3/j (OmpPrivate, OmpPreDetermined) HostAssoc INTEGER(4) 48 do j=0,10 49 !REF: /omp_cycle/k 50 do k=0,10 51 !REF: /omp_cycle/Block3/i 52 if (i<1) cycle 53 !REF: /omp_cycle/Block3/i 54 !REF: /omp_cycle/Block3/j 55 !REF: /omp_cycle/k 56 print *, i, j, k 57 end do 58 end do 59 end do 60 !$omp end do 61 62 !$omp do collapse(3) 63 !DEF: /omp_cycle/Block4/i (OmpPrivate, OmpPreDetermined) HostAssoc INTEGER(4) 64 do i=0,10 65 !DEF: /omp_cycle/Block4/j (OmpPrivate, OmpPreDetermined) HostAssoc INTEGER(4) 66 do j=0,10 67 !DEF: /omp_cycle/Block4/k (OmpPrivate, OmpPreDetermined) HostAssoc INTEGER(4) 68 do k=0,10 69 !REF: /omp_cycle/Block4/i 70 if (i<1) cycle 71 !REF: /omp_cycle/Block4/i 72 !REF: /omp_cycle/Block4/j 73 !REF: /omp_cycle/Block4/k 74 print *, i, j, k 75 end do 76 end do 77 end do 78 !$omp end do 79 80 !$omp do collapse(3) 81 !DEF: /omp_cycle/Block5/i (OmpPrivate, OmpPreDetermined) HostAssoc INTEGER(4) 82 foo:do i=0,10 83 !DEF: /omp_cycle/Block5/j (OmpPrivate, OmpPreDetermined) HostAssoc INTEGER(4) 84 foo1:do j=0,10 85 !DEF: /omp_cycle/Block5/k (OmpPrivate, OmpPreDetermined) HostAssoc INTEGER(4) 86 foo2:do k=0,10 87 !REF: /omp_cycle/Block5/i 88 if (i<1) cycle foo2 89 !REF: /omp_cycle/Block5/i 90 !REF: /omp_cycle/Block5/j 91 !REF: /omp_cycle/Block5/k 92 print *, i, j, k 93 end do foo2 94 end do foo1 95 end do foo 96 !$omp end do 97end program omp_cycle 98