1! Cross check that it is accepted without nowait 2subroutine bar() 3implicit none 4integer :: i, a(5) 5!$omp atomic write 6i = 5 7!$omp end atomic 8 9!$omp critical 10!$omp end critical 11 12!$omp distribute 13do i = 1, 5 14end do 15!$omp end distribute 16 17!$omp distribute parallel do 18do i = 1, 5 19end do 20!$omp end distribute parallel do 21 22!$omp distribute parallel do simd 23do i = 1, 5 24end do 25!$omp end distribute parallel do simd 26 27!$omp distribute simd 28do i = 1, 5 29end do 30!$omp end distribute simd 31 32!$omp masked 33!$omp end masked 34 35!$omp masked taskloop 36do i = 1, 5 37end do 38!$omp end masked taskloop 39 40!$omp masked taskloop simd 41do i = 1, 5 42end do 43!$omp end masked taskloop simd 44 45!$omp master 46!$omp end master 47 48!$omp master taskloop 49do i = 1, 5 50end do 51!$omp end master taskloop 52 53!$omp master taskloop simd 54do i = 1, 5 55end do 56!$omp end master taskloop simd 57 58!$omp ordered 59!$omp end ordered 60 61!$omp parallel 62!$omp end parallel 63 64!$omp parallel workshare 65a(:) = 5 66!$omp end parallel workshare 67 68!$omp parallel do 69do i = 1, 5 70end do 71!$omp end parallel do 72 73!$omp parallel do simd 74do i = 1, 5 75end do 76!$omp end parallel do simd 77 78!$omp parallel sections 79 !$omp section 80 block; end block 81!$omp end parallel sections 82 83!$omp parallel masked 84!$omp end parallel masked 85 86!$omp parallel masked taskloop 87do i = 1, 5 88end do 89!$omp end parallel masked taskloop 90 91!$omp parallel masked taskloop simd 92do i = 1, 5 93end do 94!$omp end parallel masked taskloop simd 95 96!$omp parallel master 97!$omp end parallel master 98 99!$omp parallel master taskloop 100do i = 1, 5 101end do 102!$omp end parallel master taskloop 103 104!$omp parallel master taskloop simd 105do i = 1, 5 106end do 107!$omp end parallel master taskloop simd 108 109!$omp simd 110do i = 1, 5 111end do 112!$omp end simd 113 114!$omp task 115!$omp end task 116 117!$omp taskgroup 118!$omp end taskgroup 119 120!$omp taskloop 121do i = 1, 5 122end do 123!$omp end taskloop 124 125!$omp taskloop simd 126do i = 1, 5 127end do 128!$omp end taskloop simd 129 130!$omp teams 131!$omp end teams 132 133!$omp teams distribute 134do i = 1, 5 135end do 136!$omp end teams distribute 137 138!$omp teams distribute parallel do 139do i = 1, 5 140end do 141!$omp end teams distribute parallel do 142 143!$omp teams distribute parallel do simd 144do i = 1, 5 145end do 146!$omp end teams distribute parallel do simd 147 148!$omp teams distribute simd 149do i = 1, 5 150end do 151!$omp end teams distribute simd 152 153!$omp target data map(tofrom:i) 154!$omp end target data 155 156end 157 158! invalid nowait 159 160subroutine foo 161implicit none 162integer :: i, a(5) 163!$omp atomic write 164i = 5 165!$omp end atomic nowait ! { dg-error "Unexpected junk" } 166 167!$omp critical 168!$omp end critical nowait ! { dg-error "Unexpected junk" } 169 170!$omp distribute 171do i = 1, 5 172end do 173!$omp end distribute nowait ! { dg-error "Unexpected junk" } 174 175!$omp distribute parallel do 176do i = 1, 5 177end do 178!$omp end distribute parallel do nowait ! { dg-error "Unexpected junk" } 179 180!$omp distribute parallel do simd 181do i = 1, 5 182end do 183!$omp end distribute parallel do simd nowait ! { dg-error "Unexpected junk" } 184 185!$omp parallel sections 186 !$omp section 187 block; end block 188!$omp end parallel sections nowait ! { dg-error "Unexpected junk" } 189 190!$omp distribute simd 191do i = 1, 5 192end do 193!$omp end distribute simd nowait ! { dg-error "Unexpected junk" } 194 195!$omp masked 196!$omp end masked nowait ! { dg-error "Unexpected junk" } 197 198!$omp masked taskloop 199do i = 1, 5 200end do 201!$omp end masked taskloop nowait ! { dg-error "Unexpected junk" } 202 203!$omp masked taskloop simd 204do i = 1, 5 205end do 206!$omp end masked taskloop simd nowait ! { dg-error "Unexpected junk" } 207 208!$omp master 209!$omp end master nowait ! { dg-error "Unexpected junk" } 210 211!$omp master taskloop 212do i = 1, 5 213end do 214!$omp end master taskloop nowait ! { dg-error "Unexpected junk" } 215 216!$omp master taskloop simd 217do i = 1, 5 218end do 219!$omp end master taskloop simd nowait ! { dg-error "Unexpected junk" } 220 221!$omp ordered 222!$omp end ordered nowait ! { dg-error "Unexpected junk" } 223 224!$omp parallel 225!$omp end parallel nowait ! { dg-error "Unexpected junk" } 226 227!$omp parallel workshare 228a(:) = 5 229!$omp end parallel workshare nowait ! { dg-error "Unexpected junk" } 230 231!$omp parallel do 232do i = 1, 5 233end do 234!$omp end parallel do nowait ! { dg-error "Unexpected junk" } 235 236!$omp parallel do simd 237do i = 1, 5 238end do 239!$omp end parallel do simd nowait ! { dg-error "Unexpected junk" } 240 241!$omp parallel masked 242!$omp end parallel masked nowait ! { dg-error "Unexpected junk" } 243 244!$omp parallel masked taskloop 245do i = 1, 5 246end do 247!$omp end parallel masked taskloop nowait ! { dg-error "Unexpected junk" } 248 249!$omp parallel masked taskloop simd 250do i = 1, 5 251end do 252!$omp end parallel masked taskloop simd nowait ! { dg-error "Unexpected junk" } 253 254!$omp parallel master 255!$omp end parallel master nowait ! { dg-error "Unexpected junk" } 256 257!$omp parallel master taskloop 258do i = 1, 5 259end do 260!$omp end parallel master taskloop nowait ! { dg-error "Unexpected junk" } 261 262!$omp parallel master taskloop simd 263do i = 1, 5 264end do 265!$omp end parallel master taskloop simd nowait ! { dg-error "Unexpected junk" } 266 267!$omp simd 268do i = 1, 5 269end do 270!$omp end simd nowait ! { dg-error "Unexpected junk" } 271 272!$omp task 273!$omp end task nowait ! { dg-error "Unexpected junk" } 274 275!$omp taskgroup 276!$omp end taskgroup nowait ! { dg-error "Unexpected junk" } 277 278!$omp taskloop 279do i = 1, 5 280end do 281!$omp end taskloop nowait ! { dg-error "Unexpected junk" } 282 283!$omp taskloop simd 284do i = 1, 5 285end do 286!$omp end taskloop simd nowait ! { dg-error "Unexpected junk" } 287 288!$omp teams 289!$omp end teams nowait ! { dg-error "Unexpected junk" } 290 291!$omp teams distribute 292do i = 1, 5 293end do 294!$omp end teams distribute nowait ! { dg-error "Unexpected junk" } 295 296!$omp teams distribute parallel do 297do i = 1, 5 298end do 299!$omp end teams distribute parallel do nowait ! { dg-error "Unexpected junk" } 300 301!$omp teams distribute parallel do simd 302do i = 1, 5 303end do 304!$omp end teams distribute parallel do simd nowait ! { dg-error "Unexpected junk" } 305 306!$omp teams distribute simd 307do i = 1, 5 308end do 309!$omp end teams distribute simd nowait ! { dg-error "Unexpected junk" } 310 311!$omp target data map(tofrom:i) 312!$omp end target data nowait ! { dg-error "Unexpected junk" } 313 314end ! { dg-error "Unexpected END statement" } 315! { dg-prune-output "Unexpected end of file" } 316