subroutine parloop integer, parameter :: n = 100 integer i, j, k, a !$acc parallel loop tile(10) do i = 1, n end do !$acc parallel loop tile(*) do i = 1, n end do !$acc parallel loop tile(10, *) do i = 1, n do j = 1, n end do end do !$acc parallel loop tile(10, *, i) ! { dg-error "" } do i = 1, n do j = 1, n do k = 1, n end do end do end do !$acc parallel loop tile ! { dg-error "Unclassifiable" } do i = 1, n end do !$acc parallel loop tile() ! { dg-error "Syntax error" } do i = 1, n end do !$acc parallel loop tile(,1) ! { dg-error "Syntax error" } do i = 1, n end do !$acc parallel loop tile(,,) ! { dg-error "Syntax error" } do i = 1, n end do !$acc parallel loop tile(1.1) ! { dg-error "requires a scalar INTEGER" } do i = 1, n end do !$acc parallel loop tile(-3) ! { dg-warning "must be positive" } do i = 1, n end do !$acc parallel loop tile(10, -3) ! { dg-warning "must be positive" } do i = 1, n do j = 1, n end do end do !$acc parallel loop tile(-100, 10, 5) ! { dg-warning "must be positive" } do i = 1, n do j = 1, n do k = 1, n end do end do end do !$acc parallel loop tile(10, .true.) ! { dg-error "requires a scalar" } do i = 1, n do j = 1, n end do end do !$acc parallel loop tile(1, a) ! { dg-error "constant expression" } do i = 1, n do j = 1, n end do end do !$acc parallel loop tile(a, 1) ! { dg-error "constant expression" } do i = 1, n do j = 1, n end do end do !$acc parallel loop tile(2, 3) collapse (2) ! { dg-error "Incompatible use" } do i = 1, n do j = 1, n end do end do end subroutine parloop subroutine par integer, parameter :: n = 100 integer i, j, k !$acc parallel !$acc loop tile ! { dg-error "Unclassifiable" } do i = 1, n end do !$acc loop tile() ! { dg-error "Syntax error" } do i = 1, n end do !$acc loop tile(1) do i = 1, n end do !$acc loop tile(*) do i = 1, n end do !$acc loop tile(2) do i = 1, n do j = 1, n end do end do !$acc loop tile(-2) ! { dg-warning "must be positive" } do i = 1, n end do !$acc loop tile(i) ! { dg-error "constant expression" } do i = 1, n end do !$acc loop tile(2, 2, 1) do i = 1, n do j = 1, n do k = 1, n end do end do end do !$acc parallel loop tile(2, 2) do i = 1, n do j = i+1, n, j ! { dg-error "rectangular iteration space" } end do end do !$acc loop vector tile(*) do i = 1, n end do !$acc loop worker tile(*) do i = 1, n end do !$acc loop gang tile(*) do i = 1, n end do !$acc loop vector gang tile(*) do i = 1, n end do !$acc loop vector worker tile(*) do i = 1, n end do !$acc loop gang worker tile(*) do i = 1, n end do !$acc loop tile(2, 3) collapse (2) ! { dg-error "Incompatible use" } do i = 1, n do j = 1, n end do end do !$acc end parallel end subroutine par subroutine kern integer, parameter :: n = 100 integer i, j, k !$acc kernels !$acc loop tile ! { dg-error "Unclassifiable" } do i = 1, n end do !$acc loop tile() ! { dg-error "Syntax error" } do i = 1, n end do !$acc loop tile(1) do i = 1, n end do !$acc loop tile(*) do i = 1, n end do !$acc loop tile(2) do i = 1, n do j = 1, n end do end do !$acc loop tile(-2) ! { dg-warning "must be positive" } do i = 1, n end do !$acc loop tile(i) ! { dg-error "constant expression" } do i = 1, n end do !$acc loop tile(2, 2, 1) do i = 1, n do j = 1, n do k = 1, n end do end do end do !$acc parallel loop tile(2, 2) do i = 1, n do j = 1, n end do end do !$acc loop vector tile(*) do i = 1, n end do !$acc loop worker tile(*) do i = 1, n end do !$acc loop gang tile(*) do i = 1, n end do !$acc loop vector gang tile(*) do i = 1, n end do !$acc loop vector worker tile(*) do i = 1, n end do !$acc loop gang worker tile(*) do i = 1, n end do !$acc loop tile(2, 3) collapse (2) ! { dg-error "Incompatible use" } do i = 1, n do j = 1, n end do end do !$acc end kernels end subroutine kern subroutine kernsloop integer, parameter :: n = 100 integer i, j, k, a !$acc kernels loop tile(10) do i = 1, n end do !$acc kernels loop tile(*) do i = 1, n end do !$acc kernels loop tile(10, *) do i = 1, n do j = 1, n end do end do !$acc kernels loop tile(10, *, i) ! { dg-error "" } do i = 1, n do j = 1, n do k = 1, n end do end do end do !$acc kernels loop tile ! { dg-error "Unclassifiable" } do i = 1, n end do !$acc kernels loop tile() ! { dg-error "Syntax error" } do i = 1, n end do !$acc kernels loop tile(,1) ! { dg-error "Syntax error" } do i = 1, n end do !$acc kernels loop tile(,,) ! { dg-error "Syntax error" } do i = 1, n end do !$acc kernels loop tile(1.1) ! { dg-error "requires a scalar INTEGER" } do i = 1, n end do !$acc kernels loop tile(-3) ! { dg-warning "must be positive" } do i = 1, n end do !$acc kernels loop tile(10, -3) ! { dg-warning "must be positive" } do i = 1, n do j = 1, n end do end do !$acc kernels loop tile(-100, 10, 5) ! { dg-warning "must be positive" } do i = 1, n do j = 1, n do k = 1, n end do end do end do !$acc kernels loop tile(10, .true.) ! { dg-error "requires a scalar" } do i = 1, n do j = 1, n end do end do !$acc kernels loop tile(1, a) ! { dg-error "constant expression" } do i = 1, n do j = 1, n end do end do !$acc kernels loop tile(a, 1) ! { dg-error "constant expression" } do i = 1, n do j = 1, n end do end do !$acc kernels loop tile(2, 3) collapse (2) ! { dg-error "Incompatible use" } do i = 1, n do j = 1, n end do end do end subroutine kernsloop