1subroutine f1 2 integer i, j 3 !$omp do 4 do i = 0, 2 5 !$omp do ! { dg-error "may not be closely nested" } 6 do j = 0, 2 7 block; end block 8 end do 9 !$omp sections ! { dg-error "may not be closely nested" } 10 call do_work 11 !$omp section 12 block; end block 13 !$omp end sections 14 !$omp single ! { dg-error "may not be closely nested" } 15 block; end block 16 !$omp end single 17 !$omp master ! { dg-error "may not be closely nested" } 18 block; end block 19 !$omp end master 20 !$omp masked ! { dg-error "may not be closely nested" } 21 block; end block 22 !$omp end masked 23 !$omp barrier ! { dg-error "may not be closely nested" } 24 !$omp scope ! { dg-error "may not be closely nested" } 25 block; end block 26 !$omp end scope 27 end do 28 !$omp sections 29 !$omp do ! { dg-error "may not be closely nested" } 30 do j = 0, 2 31 block; end block 32 end do 33 !$omp end sections 34 !$omp sections 35 !$omp sections ! { dg-error "may not be closely nested" } 36 call do_work 37 !$omp section 38 block; end block 39 !$omp end sections 40 !$omp end sections 41 !$omp sections 42 !$omp single ! { dg-error "may not be closely nested" } 43 block; end block 44 !$omp end single 45 !$omp end sections 46 !$omp sections 47 !$omp master ! { dg-error "may not be closely nested" } 48 block; end block 49 !$omp end master 50 !$omp end sections 51 !$omp sections 52 !$omp masked ! { dg-error "may not be closely nested" } 53 block; end block 54 !$omp end masked 55 !$omp end sections 56 !$omp sections 57 !$omp scope ! { dg-error "may not be closely nested" } 58 block; end block 59 !$omp end scope 60 !$omp end sections 61 !$omp sections 62 !$omp section 63 block; end block 64 !$omp end sections 65 !$omp sections 66 !$omp section 67 !$omp do ! { dg-error "may not be closely nested" } 68 do j = 0, 2 69 block; end block 70 end do 71 !$omp end sections 72 !$omp sections 73 !$omp section 74 !$omp sections ! { dg-error "may not be closely nested" } 75 call do_work 76 !$omp section 77 block; end block 78 !$omp end sections 79 !$omp end sections 80 !$omp sections 81 !$omp section 82 !$omp single ! { dg-error "may not be closely nested" } 83 block; end block 84 !$omp end single 85 !$omp end sections 86 !$omp sections 87 !$omp section 88 !$omp master ! { dg-error "may not be closely nested" } 89 block; end block 90 !$omp end master 91 !$omp section 92 !$omp masked ! { dg-error "may not be closely nested" } 93 block; end block 94 !$omp end masked 95 !$omp end sections 96 !$omp sections 97 !$omp section 98 !$omp scope ! { dg-error "may not be closely nested" } 99 block; end block 100 !$omp end scope 101 !$omp end sections 102 !$omp single 103 !$omp do ! { dg-error "may not be closely nested" } 104 do j = 0, 2 105 block; end block 106 end do 107 !$omp sections ! { dg-error "may not be closely nested" } 108 call do_work 109 !$omp section 110 block; end block 111 !$omp end sections 112 !$omp single ! { dg-error "may not be closely nested" } 113 block; end block 114 !$omp end single 115 !$omp master ! { dg-error "may not be closely nested" } 116 block; end block 117 !$omp end master 118 !$omp masked ! { dg-error "may not be closely nested" } 119 block; end block 120 !$omp end masked 121 !$omp barrier ! { dg-error "may not be closely nested" } 122 !$omp scope ! { dg-error "may not be closely nested" } 123 block; end block 124 !$omp end scope 125 !$omp end single 126 !$omp master 127 !$omp do ! { dg-error "may not be closely nested" } 128 do j = 0, 2 129 block; end block 130 end do 131 !$omp sections ! { dg-error "may not be closely nested" } 132 call do_work 133 !$omp section 134 block; end block 135 !$omp end sections 136 !$omp single ! { dg-error "may not be closely nested" } 137 block; end block 138 !$omp end single 139 !$omp master 140 block; end block 141 !$omp end master 142 !$omp barrier ! { dg-error "may not be closely nested" } 143 !$omp scope ! { dg-error "may not be closely nested" } 144 block; end block 145 !$omp end scope 146 !$omp end master 147 !$omp masked filter (1) 148 !$omp do ! { dg-error "may not be closely nested" } 149 do j = 0, 2 150 block; end block 151 end do 152 !$omp sections ! { dg-error "may not be closely nested" } 153 call do_work 154 !$omp section 155 block; end block 156 !$omp end sections 157 !$omp single ! { dg-error "may not be closely nested" } 158 block; end block 159 !$omp end single 160 !$omp master 161 block; end block 162 !$omp end master 163 !$omp barrier ! { dg-error "may not be closely nested" } 164 !$omp scope ! { dg-error "may not be closely nested" } 165 block; end block 166 !$omp end scope 167 !$omp end masked 168 !$omp task 169 !$omp do ! { dg-error "may not be closely nested" } 170 do j = 0, 2 171 block; end block 172 end do 173 !$omp sections ! { dg-error "may not be closely nested" } 174 call do_work 175 !$omp section 176 block; end block 177 !$omp end sections 178 !$omp single ! { dg-error "may not be closely nested" } 179 block; end block 180 !$omp end single 181 !$omp master ! { dg-error "may not be closely nested" } 182 block; end block 183 !$omp end master 184 !$omp masked ! { dg-error "may not be closely nested" } 185 block; end block 186 !$omp end masked 187 !$omp barrier ! { dg-error "may not be closely nested" } 188 !$omp scope ! { dg-error "may not be closely nested" } 189 block; end block 190 !$omp end scope 191 !$omp end task 192 !$omp parallel 193 !$omp do 194 do j = 0, 2 195 block; end block 196 end do 197 !$omp sections 198 call do_work 199 !$omp section 200 block; end block 201 !$omp end sections 202 !$omp single 203 block; end block 204 !$omp end single 205 !$omp master 206 block; end block 207 !$omp end master 208 !$omp masked 209 block; end block 210 !$omp end masked 211 !$omp barrier 212 !$omp scope 213 block; end block 214 !$omp end scope 215 !$omp scope 216 !$omp scope 217 block; end block 218 !$omp end scope 219 !$omp end scope 220 !$omp end parallel 221 !$omp scope 222 !$omp do 223 do j = 0, 2 224 block; end block 225 end do 226 !$omp sections 227 call do_work 228 !$omp section 229 block; end block 230 !$omp end sections 231 !$omp single 232 block; end block 233 !$omp end single 234 !$omp master 235 block; end block 236 !$omp end master 237 !$omp masked 238 block; end block 239 !$omp end masked 240 !$omp barrier 241 !$omp scope 242 block; end block 243 !$omp end scope 244 !$omp scope 245 !$omp scope 246 block; end block 247 !$omp end scope 248 !$omp end scope 249 !$omp end scope 250end 251 252subroutine f2 253 integer i, j 254 !$omp ordered 255 !$omp do ! { dg-error "may not be closely nested" } 256 do j = 0, 2 257 block; end block 258 end do 259 !$omp sections ! { dg-error "may not be closely nested" } 260 call do_work 261 !$omp section 262 block; end block 263 !$omp end sections 264 !$omp single ! { dg-error "may not be closely nested" } 265 block; end block 266 !$omp end single 267 !$omp master 268 block; end block 269 !$omp end master 270 !$omp masked 271 block; end block 272 !$omp end masked 273 !$omp barrier ! { dg-error "may not be closely nested" } 274 !$omp scope ! { dg-error "may not be closely nested" } 275 block; end block 276 !$omp end scope 277 !$omp end ordered 278end 279 280subroutine f3 (void) 281 !$omp critical 282 !$omp ordered ! { dg-error "may not be closely nested" } 283 block; end block 284 !$omp end ordered 285 !$omp scope ! { dg-error "may not be closely nested" } 286 block; end block 287 !$omp end scope 288 !$omp end critical 289end 290 291subroutine f4 (void) 292 !$omp task 293 !$omp ordered ! { dg-error "may not be closely nested" } 294 block; end block 295 !$omp end ordered 296 !$omp scope ! { dg-error "may not be closely nested" } 297 block; end block 298 !$omp end scope 299 !$omp end task 300end 301 302subroutine f5 (void) 303 integer i 304 !$omp do 305 do i = 0, 9 306 !$omp ordered ! { dg-error "must be closely nested" } 307 block; end block 308 !$omp end ordered 309 end do 310 !$omp do ordered 311 do i = 0, 9 312 !$omp ordered 313 block; end block 314 !$omp end ordered 315 end do 316end 317 318subroutine f6 (void) 319 !$omp critical (foo) 320 !$omp critical (bar) 321 block; end block 322 !$omp end critical (bar) 323 !$omp end critical (foo) 324 !$omp critical 325 !$omp critical (baz) 326 block; end block 327 !$omp end critical (baz) 328 !$omp end critical 329end 330 331subroutine f7 (void) 332 !$omp critical (foo2) 333 !$omp critical 334 block; end block 335 !$omp end critical 336 !$omp end critical (foo2) 337 !$omp critical (bar) 338 !$omp critical (bar) ! { dg-error "may not be nested" } 339 block; end block 340 !$omp end critical (bar) 341 !$omp end critical (bar) 342 !$omp critical 343 !$omp critical ! { dg-error "may not be nested" } 344 block; end block 345 !$omp end critical 346 !$omp end critical 347end 348