aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCesar Philippidis <cesar@gcc.gnu.org>2018-09-24 07:51:25 -0700
committerCesar Philippidis <cesar@gcc.gnu.org>2018-09-24 07:51:25 -0700
commit9a51c0cc2af361d9338965d41d40ce8f8ede5266 (patch)
tree9120240b8f638b55dae798195d2d4b683b2b9d18
parentf80316c5d79c3c12a4e97160fcf17d78c5b99fc4 (diff)
downloadgcc-9a51c0cc2af361d9338965d41d40ce8f8ede5266.zip
gcc-9a51c0cc2af361d9338965d41d40ce8f8ede5266.tar.gz
gcc-9a51c0cc2af361d9338965d41d40ce8f8ede5266.tar.bz2
[OpenACC] update fortran nested parallelism error messages
gcc/fortran/ * openmp.c (resolve_oacc_loop_blocks): gcc/testsuite/ * gfortran.dg/goacc/nested-parallelism.f90: New test. From-SVN: r264536
-rw-r--r--gcc/fortran/ChangeLog5
-rw-r--r--gcc/fortran/openmp.c2
-rw-r--r--gcc/testsuite/ChangeLog4
-rw-r--r--gcc/testsuite/gfortran.dg/goacc/nested-parallelism.f9051
4 files changed, 61 insertions, 1 deletions
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog
index 98e1dd6..3901e29 100644
--- a/gcc/fortran/ChangeLog
+++ b/gcc/fortran/ChangeLog
@@ -1,3 +1,8 @@
+2018-09-24 Bernhard Reuther-Fischer <aldot@gcc.gnu.org>
+ Cesar Philippidis <cesar@codesourcery.com>
+
+ * openmp.c (resolve_oacc_loop_blocks):
+
2018-09-23 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/87397
diff --git a/gcc/fortran/openmp.c b/gcc/fortran/openmp.c
index 94a7f7e..bd83733 100644
--- a/gcc/fortran/openmp.c
+++ b/gcc/fortran/openmp.c
@@ -5853,7 +5853,7 @@ resolve_oacc_loop_blocks (gfc_code *code)
&code->loc);
if (c->code->ext.omp_clauses->vector)
gfc_error ("Loop parallelized across gangs is not allowed "
- "inside loop parallelized across workers at %L",
+ "inside loop parallelized across vectors at %L",
&code->loc);
}
if (code->ext.omp_clauses->worker)
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 16dc1a4..cf1add7 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,7 @@
+2018-09-24 Cesar Philippidis <cesar@codesourcery.com>
+
+ * gfortran.dg/goacc/nested-parallelism.f90: New test.
+
2018-09-24 Ilya Leoshkevich <iii@linux.ibm.com>
PR target/80080
diff --git a/gcc/testsuite/gfortran.dg/goacc/nested-parallelism.f90 b/gcc/testsuite/gfortran.dg/goacc/nested-parallelism.f90
new file mode 100644
index 0000000..6ebef6a
--- /dev/null
+++ b/gcc/testsuite/gfortran.dg/goacc/nested-parallelism.f90
@@ -0,0 +1,51 @@
+! Verify the invalid gang, worker, vector parallelism error messages.
+
+program np
+ integer, parameter :: n = 100
+ integer :: i, j, k
+
+ !$acc parallel loop gang
+ do i = 1, n
+ !$acc loop gang ! { dg-error "gangs is not allowed inside another loop parallelized across gangs" }
+ do j = 1, n
+ end do
+
+ !$acc loop worker
+ do j = 1, n
+ end do
+
+ !$acc loop vector
+ do j = 1, n
+ end do
+ end do
+
+ !$acc parallel loop worker
+ do i = 1, n
+ !$acc loop gang ! { dg-error "gangs is not allowed inside loop parallelized across workers" }
+ do j = 1, n
+ end do
+
+ !$acc loop worker ! { dg-error "workers is not allowed inside another loop parallelized across workers" }
+ do j = 1, n
+ end do
+
+ !$acc loop vector
+ do j = 1, n
+ end do
+ end do
+
+ !$acc parallel loop vector
+ do i = 1, n
+ !$acc loop gang ! { dg-error "gangs is not allowed inside loop parallelized across vectors" }
+ do j = 1, n
+ end do
+
+ !$acc loop worker ! { dg-error "workers is not allowed inside another loop parallelized across vectors" }
+ do j = 1, n
+ end do
+
+ !$acc loop vector ! { dg-error "vectors is not allowed inside another loop parallelized across vectors" }
+ do j = 1, n
+ end do
+ end do
+end program np