Commit 877009a5 by Thomas Schwinge Committed by Thomas Schwinge

Split up "gfortran.dg/goacc/loop-2.f95"

	gcc/testsuite/
	* gfortran.dg/goacc/loop-2.f95: Split into...
	* gfortran.dg/goacc/loop-2-kernels-nested.f95: ... this new
	file...
	* gfortran.dg/goacc/loop-2-kernels-tile.f95: ..., and this new
	file...
	* gfortran.dg/goacc/loop-2-kernels.f95: ..., and this new file...
	* gfortran.dg/goacc/loop-2-parallel-3.f95: ..., and this new
	file...
	* gfortran.dg/goacc/loop-2-parallel-nested.f95: ..., and this new
	file...
	* gfortran.dg/goacc/loop-2-parallel-tile.f95: ..., and this new
	file...
	* gfortran.dg/goacc/loop-2-parallel.f95: ..., and this new file.

From-SVN: r266921
parent b22b7d46
2018-12-09 Thomas Schwinge <thomas@codesourcery.com>
* gfortran.dg/goacc/loop-2.f95: Split into...
* gfortran.dg/goacc/loop-2-kernels-nested.f95: ... this new
file...
* gfortran.dg/goacc/loop-2-kernels-tile.f95: ..., and this new
file...
* gfortran.dg/goacc/loop-2-kernels.f95: ..., and this new file...
* gfortran.dg/goacc/loop-2-parallel-3.f95: ..., and this new
file...
* gfortran.dg/goacc/loop-2-parallel-nested.f95: ..., and this new
file...
* gfortran.dg/goacc/loop-2-parallel-tile.f95: ..., and this new
file...
* gfortran.dg/goacc/loop-2-parallel.f95: ..., and this new file.
PR fortran/88420
* gfortran.dg/goacc/loop-1-2.f95: Update.
* gfortran.dg/goacc/loop-1.f95: Likewise.
......
/* See also "../../gfortran.dg/goacc/loop-2-kernels.f95". */
void K(void)
{
int i, j;
......
/* See also "../../gfortran.dg/goacc/loop-2-parallel.f95". */
void P(void)
{
int i, j;
......
/* See also "../../gfortran.dg/goacc/loop-2-parallel-3.f95". */
void par1 (void)
{
int i, j;
......
program test
implicit none
integer :: i, j
!$acc kernels loop gang
DO i = 1,10
!$acc kernels loop gang ! { dg-bogus "OpenACC construct inside of non-OpenACC region" "TODO" { xfail *-*-* } }
DO j = 1,10
ENDDO
ENDDO
!$acc kernels loop worker
DO i = 1,10
!$acc kernels loop worker ! { dg-bogus "OpenACC construct inside of non-OpenACC region" "TODO" { xfail *-*-* } }
DO j = 1,10
ENDDO
!$acc kernels loop gang ! { dg-bogus "OpenACC construct inside of non-OpenACC region" "TODO" { xfail *-*-* } }
DO j = 1,10
ENDDO
ENDDO
!$acc kernels loop vector
DO i = 1,10
!$acc kernels loop vector ! { dg-bogus "OpenACC construct inside of non-OpenACC region" "TODO" { xfail *-*-* } }
DO j = 1,10
ENDDO
!$acc kernels loop worker ! { dg-bogus "OpenACC construct inside of non-OpenACC region" "TODO" { xfail *-*-* } }
DO j = 1,10
ENDDO
!$acc kernels loop gang ! { dg-bogus "OpenACC construct inside of non-OpenACC region" "TODO" { xfail *-*-* } }
DO j = 1,10
ENDDO
ENDDO
end
program test
implicit none
integer :: i, j
!$acc kernels
!$acc loop tile ! { dg-error "Unclassifiable" }
DO i = 1,10
ENDDO
!$acc loop tile() ! { dg-error "Syntax error" }
DO i = 1,10
ENDDO
!$acc loop tile(1)
DO i = 1,10
ENDDO
!$acc loop tile(2)
DO i = 1,10
ENDDO
!$acc loop tile(6-2)
DO i = 1,10
ENDDO
!$acc loop tile(6+2)
DO i = 1,10
ENDDO
!$acc loop tile(*)
DO i = 1,10
ENDDO
!$acc loop tile(*, 1)
DO i = 1,10
DO j = 1,10
ENDDO
ENDDO
!$acc loop tile(-1) ! { dg-warning "must be positive" }
do i = 1,10
enddo
!$acc loop tile(i) ! { dg-error "constant expression" }
do i = 1,10
enddo
!$acc loop tile(2, 2, 1) ! { dg-error "not enough DO loops for tiled" }
do i = 1, 3
do j = 4, 6
end do
end do
!$acc loop tile(2, 2)
do i = 1, 5, 2
do j = i + 1, 7, i ! { dg-error "tiled loops don.t form rectangular iteration space" }
end do
end do
!$acc loop vector tile(*)
DO i = 1,10
ENDDO
!$acc loop worker tile(*)
DO i = 1,10
ENDDO
!$acc loop gang tile(*)
DO i = 1,10
ENDDO
!$acc loop vector gang tile(*)
DO i = 1,10
ENDDO
!$acc loop vector worker tile(*)
DO i = 1,10
ENDDO
!$acc loop gang worker tile(*)
DO i = 1,10
ENDDO
!$acc end kernels
!$acc kernels loop tile ! { dg-error "Unclassifiable" }
DO i = 1,10
ENDDO
!$acc kernels loop tile() ! { dg-error "Syntax error" }
DO i = 1,10
ENDDO
!$acc kernels loop tile(1)
DO i = 1,10
ENDDO
!$acc kernels loop tile(*)
DO i = 1,10
ENDDO
!$acc kernels loop tile(*, 1)
DO i = 1,10
DO j = 1,10
ENDDO
ENDDO
!$acc kernels loop tile(-1) ! { dg-warning "must be positive" }
do i = 1,10
enddo
!$acc kernels loop tile(i) ! { dg-error "constant expression" }
do i = 1,10
enddo
!$acc kernels loop tile(2, 2, 1) ! { dg-error "not enough DO loops for tiled" }
do i = 1, 3
do j = 4, 6
end do
end do
!$acc kernels loop tile(2, 2)
do i = 1, 5, 2
do j = i + 1, 7, i ! { dg-error "tiled loops don.t form rectangular iteration space" }
end do
end do
!$acc kernels loop vector tile(*)
DO i = 1,10
ENDDO
!$acc kernels loop worker tile(*)
DO i = 1,10
ENDDO
!$acc kernels loop gang tile(*)
DO i = 1,10
ENDDO
!$acc kernels loop vector gang tile(*)
DO i = 1,10
ENDDO
!$acc kernels loop vector worker tile(*)
DO i = 1,10
ENDDO
!$acc kernels loop gang worker tile(*)
DO i = 1,10
ENDDO
end
! See also "../../c-c++-common/goacc/loop-3.c".
program test
implicit none
integer :: i
!$acc parallel
!$acc loop gang(5) ! { dg-error "num arguments" }
DO i = 1,10
ENDDO
!$acc loop gang(num:5) ! { dg-error "num arguments" }
DO i = 1,10
ENDDO
!$acc loop worker(5) ! { dg-error "num arguments" }
DO i = 1,10
ENDDO
!$acc loop worker(num:5) ! { dg-error "num arguments" }
DO i = 1,10
ENDDO
!$acc loop vector(5) ! { dg-error "length arguments" }
DO i = 1,10
ENDDO
!$acc loop vector(length:5) ! { dg-error "length arguments" }
DO i = 1,10
ENDDO
!$acc end parallel
!$acc parallel loop gang(5) ! { dg-error "num arguments" }
DO i = 1,10
ENDDO
!$acc parallel loop gang(num:5) ! { dg-error "num arguments" }
DO i = 1,10
ENDDO
!$acc parallel loop worker(5) ! { dg-error "num arguments" }
DO i = 1,10
ENDDO
!$acc parallel loop worker(num:5) ! { dg-error "num arguments" }
DO i = 1,10
ENDDO
!$acc parallel loop vector(5) ! { dg-error "length arguments" }
DO i = 1,10
ENDDO
!$acc parallel loop vector(length:5) ! { dg-error "length arguments" }
DO i = 1,10
ENDDO
end
program test
implicit none
integer :: i, j
!$acc parallel loop gang
DO i = 1,10
!$acc parallel loop gang ! { dg-bogus "OpenACC construct inside of non-OpenACC region" "TODO" { xfail *-*-* } }
DO j = 1,10
ENDDO
ENDDO
!$acc parallel loop worker
DO i = 1,10
!$acc parallel loop worker ! { dg-bogus "OpenACC construct inside of non-OpenACC region" "TODO" { xfail *-*-* } }
DO j = 1,10
ENDDO
!$acc parallel loop gang ! { dg-bogus "OpenACC construct inside of non-OpenACC region" "TODO" { xfail *-*-* } }
DO j = 1,10
ENDDO
ENDDO
!$acc parallel loop vector
DO i = 1,10
!$acc parallel loop vector ! { dg-bogus "OpenACC construct inside of non-OpenACC region" "TODO" { xfail *-*-* } }
DO j = 1,10
ENDDO
!$acc parallel loop worker ! { dg-bogus "OpenACC construct inside of non-OpenACC region" "TODO" { xfail *-*-* } }
DO j = 1,10
ENDDO
!$acc parallel loop gang ! { dg-bogus "OpenACC construct inside of non-OpenACC region" "TODO" { xfail *-*-* } }
DO j = 1,10
ENDDO
ENDDO
end
program test
implicit none
integer :: i, j
!$acc parallel
!$acc loop tile ! { dg-error "Unclassifiable" }
DO i = 1,10
ENDDO
!$acc loop tile() ! { dg-error "Syntax error" }
DO i = 1,10
ENDDO
!$acc loop tile(1)
DO i = 1,10
ENDDO
!$acc loop tile(*)
DO i = 1,10
ENDDO
!$acc loop tile(2)
DO i = 1,10
DO j = 1,10
ENDDO
ENDDO
!$acc loop tile(-1) ! { dg-warning "must be positive" }
do i = 1,10
enddo
!$acc loop tile(i) ! { dg-error "constant expression" }
do i = 1,10
enddo
!$acc loop tile(2, 2, 1) ! { dg-error "not enough DO loops for tiled" }
do i = 1, 3
do j = 4, 6
end do
end do
!$acc loop tile(2, 2)
do i = 1, 5, 2
do j = i + 1, 7, i ! { dg-error "tiled loops don.t form rectangular iteration space" }
end do
end do
!$acc loop vector tile(*)
DO i = 1,10
ENDDO
!$acc loop worker tile(*)
DO i = 1,10
ENDDO
!$acc loop gang tile(*)
DO i = 1,10
ENDDO
!$acc loop vector gang tile(*)
DO i = 1,10
ENDDO
!$acc loop vector worker tile(*)
DO i = 1,10
ENDDO
!$acc loop gang worker tile(*)
DO i = 1,10
ENDDO
!$acc end parallel
!$acc parallel loop tile ! { dg-error "Unclassifiable" }
DO i = 1,10
ENDDO
!$acc parallel loop tile() ! { dg-error "Syntax error" }
DO i = 1,10
ENDDO
!$acc parallel loop tile(1)
DO i = 1,10
ENDDO
!$acc parallel loop tile(*)
DO i = 1,10
ENDDO
!$acc parallel loop tile(*, 1)
DO i = 1,10
DO j = 1,10
ENDDO
ENDDO
!$acc parallel loop tile(-1) ! { dg-warning "must be positive" }
do i = 1,10
enddo
!$acc parallel loop tile(i) ! { dg-error "constant expression" }
do i = 1,10
enddo
!$acc parallel loop tile(2, 2, 1) ! { dg-error "not enough DO loops for tiled" }
do i = 1, 3
do j = 4, 6
end do
end do
!$acc parallel loop tile(2, 2)
do i = 1, 5, 2
do j = i + 1, 7, i ! { dg-error "tiled loops don.t form rectangular iteration space" }
end do
end do
!$acc parallel loop vector tile(*)
DO i = 1,10
ENDDO
!$acc parallel loop worker tile(*)
DO i = 1,10
ENDDO
!$acc parallel loop gang tile(*)
DO i = 1,10
ENDDO
!$acc parallel loop vector gang tile(*)
DO i = 1,10
ENDDO
!$acc parallel loop vector worker tile(*)
DO i = 1,10
ENDDO
!$acc parallel loop gang worker tile(*)
DO i = 1,10
ENDDO
end
! See also "../../c-c++-common/goacc/loop-2-parallel.c".
program test
implicit none
integer :: i, j
!$acc parallel
!$acc loop auto
DO i = 1,10
ENDDO
!$acc loop gang
DO i = 1,10
ENDDO
!$acc loop gang(static:5)
DO i = 1,10
ENDDO
!$acc loop gang(static:*)
DO i = 1,10
ENDDO
!$acc loop gang
DO i = 1,10
!$acc loop vector
DO j = 1,10
ENDDO
!$acc loop worker
DO j = 1,10
ENDDO
!$acc loop gang ! { dg-error "not allowed" }
DO j = 1,10
ENDDO
ENDDO
!$acc loop seq gang ! { dg-error "conflicts with" }
DO i = 1,10
ENDDO
!$acc loop worker
DO i = 1,10
ENDDO
!$acc loop worker
DO i = 1,10
!$acc loop vector
DO j = 1,10
ENDDO
!$acc loop worker ! { dg-error "not allowed" }
DO j = 1,10
ENDDO
!$acc loop gang ! { dg-error "not allowed" }
DO j = 1,10
ENDDO
ENDDO
!$acc loop seq worker ! { dg-error "conflicts with" }
DO i = 1,10
ENDDO
!$acc loop gang worker
DO i = 1,10
ENDDO
!$acc loop vector
DO i = 1,10
ENDDO
!$acc loop vector
DO i = 1,10
!$acc loop vector ! { dg-error "not allowed" }
DO j = 1,10
ENDDO
!$acc loop worker ! { dg-error "not allowed" }
DO j = 1,10
ENDDO
!$acc loop gang ! { dg-error "not allowed" }
DO j = 1,10
ENDDO
ENDDO
!$acc loop seq vector ! { dg-error "conflicts with" }
DO i = 1,10
ENDDO
!$acc loop gang vector
DO i = 1,10
ENDDO
!$acc loop worker vector
DO i = 1,10
ENDDO
!$acc loop auto
DO i = 1,10
ENDDO
!$acc loop seq auto ! { dg-error "conflicts with" }
DO i = 1,10
ENDDO
!$acc loop gang auto ! { dg-error "conflicts with" }
DO i = 1,10
ENDDO
!$acc loop worker auto ! { dg-error "conflicts with" }
DO i = 1,10
ENDDO
!$acc loop vector auto ! { dg-error "conflicts with" }
DO i = 1,10
ENDDO
!$acc end parallel
!$acc parallel loop auto
DO i = 1,10
ENDDO
!$acc parallel loop gang
DO i = 1,10
ENDDO
!$acc parallel loop gang(static:5)
DO i = 1,10
ENDDO
!$acc parallel loop gang(static:*)
DO i = 1,10
ENDDO
!$acc parallel loop seq gang ! { dg-error "conflicts with" }
DO i = 1,10
ENDDO
!$acc parallel loop worker
DO i = 1,10
ENDDO
!$acc parallel loop seq worker ! { dg-error "conflicts with" }
DO i = 1,10
ENDDO
!$acc parallel loop gang worker
DO i = 1,10
ENDDO
!$acc parallel loop vector
DO i = 1,10
ENDDO
!$acc parallel loop seq vector ! { dg-error "conflicts with" }
DO i = 1,10
ENDDO
!$acc parallel loop gang vector
DO i = 1,10
ENDDO
!$acc parallel loop worker vector
DO i = 1,10
ENDDO
!$acc parallel loop auto
DO i = 1,10
ENDDO
!$acc parallel loop seq auto ! { dg-error "conflicts with" }
DO i = 1,10
ENDDO
!$acc parallel loop gang auto ! { dg-error "conflicts with" }
DO i = 1,10
ENDDO
!$acc parallel loop worker auto ! { dg-error "conflicts with" }
DO i = 1,10
ENDDO
!$acc parallel loop vector auto ! { dg-error "conflicts with" }
DO i = 1,10
ENDDO
end
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment