| subroutine foo (n) |
| integer :: i, n |
| !$omp do ordered |
| do i = 1, 8, n |
| !$omp ordered doacross(source) ! { dg-error "Expected ':'" } |
| end do |
| |
| !$omp do ordered |
| do i = 1, 8, n |
| !$omp ordered doacross(source:omp_current_iteration) ! { dg-error "Expected '\\\)' or 'omp_cur_iteration\\\)'" } |
| end do |
| |
| !$omp do ordered |
| do i = 1, 8, n |
| !$omp ordered doacross(source:i - 2) ! { dg-error "Expected '\\\)' or 'omp_cur_iteration\\\)'" } |
| end do |
| |
| !$omp do ordered |
| do i = 1, 8, n |
| !$omp ordered doacross(sink) ! { dg-error "Expected ':'" } |
| end do |
| |
| !$omp do ordered |
| do i = 1, 8, n |
| !$omp ordered doacross(sink:) ! { dg-error "Syntax error in OpenMP SINK dependence-type list" } |
| end do |
| end |
| |
| subroutine bar (n) |
| implicit none |
| integer i, n |
| |
| !$omp do ordered |
| do i = 1, 8, n |
| !$omp ordered doacross(sink:omp_current_iteration - 1) ! { dg-error "Symbol 'omp_current_iteration' at .1. has no IMPLICIT type" } |
| end do |
| |
| !$omp do ordered |
| do i = 1, 8, n |
| !$omp ordered doacross(sink:omp_cur_iteration) ! { dg-error "omp_cur_iteration at .1. requires '-1' as logical offset" } |
| end do |
| end |
| |
| subroutine baz (n) |
| implicit none |
| integer i, n |
| |
| !$omp do ordered |
| do i = 1, 8, n |
| !$omp ordered doacross(sink:omp_cur_iteration + 1) ! { dg-error "omp_cur_iteration at .1. requires '-1' as logical offset" } |
| end do |
| end |
| |
| subroutine qux (n) |
| implicit none |
| integer i, n |
| |
| !$omp do ordered |
| do i = 1, 8, n |
| !$omp ordered doacross(sink:omp_cur_iteration - (2 - 1)) ! { dg-error "Syntax error in OpenMP SINK dependence-type list" } |
| end do |
| end |
| |
| subroutine corge (n) |
| implicit none |
| integer i, n |
| |
| !$omp do ordered |
| do i = 1, 8, n |
| !$omp ordered doacross(sink:omp_cur_iteration - 1) |
| end do |
| |
| !$omp do ordered |
| do i = 1, 8, n |
| !$omp ordered doacross(sink:omp_cur_iteration - 1_8) |
| end do |
| end |