1subroutine foo 2 integer :: i, j 3 !$omp taskloop 4 do i = 0, 63 5 !$omp do ! { dg-error "region may not be closely nested inside of" } 6 do j = 0, 9 7 end do 8 !$omp single ! { dg-error "region may not be closely nested inside of" } 9 !$omp end single 10 !$omp sections ! { dg-error "region may not be closely nested inside of" } 11 !$omp section 12 block 13 end block 14 !$omp end sections 15 !$omp barrier ! { dg-error "region may not be closely nested inside of" } 16 !$omp master ! { dg-error "region may not be closely nested inside of" } -- ? 17 block; end block ! otherwise not generated 18 !$omp end master 19 !$omp masked ! { dg-error "region may not be closely nested inside of" } -- ? 20 block; end block ! otherwise not generated 21 !$omp end masked 22 !$omp scope ! { dg-error "region may not be closely nested inside of" } -- ? 23 block; end block ! otherwise not generated 24 !$omp end scope 25 !$omp ordered ! { dg-error "region may not be closely nested inside of" } 26 !$omp end ordered 27 !$omp ordered threads ! { dg-error "region may not be closely nested inside of" } 28 !$omp end ordered 29 !$omp ordered simd threads ! { dg-error ".ordered. .simd. must be closely nested inside .simd. region" } 30 !$omp end ordered 31 !$omp simd 32 do j = 0, 9 33 !$omp ordered simd 34 !$omp end ordered 35 end do 36 !$omp critical 37 !$omp simd 38 do j = 0, 9 39 !$omp ordered simd 40 !$omp end ordered 41 end do 42 !$omp end critical 43 end do 44 !$omp taskloop 45 do i = 0, 63 46 !$omp parallel 47 !$omp do 48 do j = 0, 9 49 end do 50 !$omp single 51 !$omp end single 52 !$omp sections 53 !$omp section 54 block; end block 55 !$omp end sections 56 !$omp barrier 57 !$omp master 58 block; end block ! otherwise not generated 59 !$omp end master 60 !$omp masked 61 block; end block ! otherwise not generated 62 !$omp end masked 63 !$omp scope 64 block; end block ! otherwise not generated 65 !$omp end scope 66 !$omp ordered ! { dg-error ".ordered. region must be closely nested inside a loop region with an .ordered. clause" } 67 !$omp end ordered 68 !$omp ordered threads ! { dg-error ".ordered. region must be closely nested inside a loop region with an .ordered. clause" } 69 !$omp end ordered 70 !$omp simd 71 do j = 0, 9 72 !$omp ordered simd 73 !$omp end ordered 74 end do 75 !$omp critical 76 !$omp simd 77 do j = 0, 9 78 !$omp ordered simd 79 !$omp end ordered 80 end do 81 !$omp end critical 82 !$omp end parallel 83 end do 84 !$omp taskloop 85 do i = 0, 63 86 !$omp target 87 !$omp do 88 do j = 0, 9 89 end do 90 !$omp single 91 !$omp end single 92 !$omp sections 93 !$omp section 94 block; end block 95 !$omp end sections 96 !$omp barrier 97 !$omp master 98 block; end block ! otherwise not generated 99 !$omp end master 100 !$omp masked 101 block; end block ! otherwise not generated 102 !$omp end masked 103 !$omp scope 104 block; end block ! otherwise not generated 105 !$omp end scope 106 !$omp ordered ! { dg-error ".ordered. region must be closely nested inside a loop region with an .ordered. clause" } 107 !$omp end ordered 108 !$omp ordered threads ! { dg-error ".ordered. region must be closely nested inside a loop region with an .ordered. clause" } 109 !$omp end ordered 110 !$omp simd 111 do j = 0, 9 112 !$omp ordered simd 113 !$omp end ordered 114 end do 115 !$omp critical 116 !$omp simd 117 do j = 0, 9 118 !$omp ordered simd 119 !$omp end ordered 120 end do 121 !$omp end critical 122 !$omp end target 123 end do 124 !$omp ordered 125 !$omp ordered ! { dg-error "region may not be closely nested inside of" } 126 !$omp end ordered 127 !$omp end ordered 128 !$omp ordered threads 129 !$omp ordered ! { dg-error "region may not be closely nested inside of" } 130 !$omp end ordered 131 !$omp end ordered 132 !$omp ordered 133 !$omp ordered threads ! { dg-error "region may not be closely nested inside of" } 134 !$omp end ordered 135 !$omp end ordered 136 !$omp ordered threads 137 !$omp ordered threads ! { dg-error "region may not be closely nested inside of" } 138 !$omp end ordered 139 !$omp end ordered 140 !$omp critical 141 !$omp ordered simd ! { dg-error ".ordered. .simd. must be closely nested inside .simd. region" } 142 !$omp end ordered 143 !$omp end critical 144 !$omp do ordered 145 do i = 0, 63 146 !$omp parallel 147 !$omp ordered threads ! { dg-error ".ordered. region must be closely nested inside a loop region with an .ordered. clause" } 148 !$omp end ordered 149 !$omp end parallel 150 end do 151 !$omp do ordered 152 do i = 0, 63 153 !$omp parallel 154 !$omp ordered ! { dg-error ".ordered. region must be closely nested inside a loop region with an .ordered. clause" } 155 !$omp end ordered 156 !$omp end parallel 157 end do 158 !$omp do ordered(1) 159 do i = 0, 63 160 !$omp parallel 161 !$omp ordered depend(source) ! { dg-error ".ordered. construct with .depend. clause must be closely nested inside a loop with .ordered. clause with a parameter" } 162 !$omp ordered depend(sink: i - 1) ! { dg-error ".ordered. construct with .depend. clause must be closely nested inside a loop with .ordered. clause with a parameter" } 163 !$omp end parallel 164 end do 165end 166