gfortran.dg/gomp/reduction4.f90: Fix testcase
authorTobias Burnus <tobias@codesourcery.com>
Wed, 9 Dec 2020 09:42:49 +0000 (10:42 +0100)
committerTobias Burnus <tobias@codesourcery.com>
Wed, 9 Dec 2020 09:47:19 +0000 (10:47 +0100)
Fix to 'omp scan' commit 005cff4e2ecbd5c4e2ef978fe4842fa3c8c79f47

gcc/testsuite/ChangeLog:

* gfortran.dg/gomp/reduction4.f90: Update scan-trees, add
lost testcase; move test with FE error to ...
* gfortran.dg/gomp/reduction5.f90: ... here.

gcc/testsuite/gfortran.dg/gomp/reduction4.f90
gcc/testsuite/gfortran.dg/gomp/reduction5.f90

index 812be323b2eaab1f94c5ae5ac032fa2c2618f953..2e8aaa2d54c7c32ca3221efed271c418da80e5fc 100644 (file)
@@ -28,11 +28,6 @@ do i=1,10
 end do
 !$omp end parallel
 
-!$omp parallel reduction(inscan,+:a)  ! { dg-error "'inscan' REDUCTION clause on construct other than DO, SIMD, DO SIMD, PARALLEL DO, PARALLEL DO SIMD" }
-do i=1,10
-  a = a + 1
-end do
-!$omp end parallel
 
 ! ------------ simd ------------
 !$omp simd reduction(+:a)
@@ -45,6 +40,11 @@ do i=1,10
   a = a + 1
 end do
 
+!$omp simd reduction(task,+:a)  ! { dg-error "invalid 'task' reduction modifier on construct other than 'parallel', 'do' or 'sections'" }
+do i=1,10
+  a = a + 1
+end do
+
 ! ------------ do ------------
 !$omp parallel
 !$omp do reduction(+:a)
@@ -89,13 +89,6 @@ end do
 !$omp end sections
 !$omp end parallel
 
-!$omp parallel
-!$omp sections reduction(inscan,+:a)   ! { dg-error "'inscan' REDUCTION clause on construct other than DO, SIMD, DO SIMD, PARALLEL DO, PARALLEL DO SIMD" }
-  !$omp section
-  a = a + 1
-!$omp end sections
-!$omp end parallel
-
 ! ------------ task ------------
 !$omp task in_reduction(+:a)
   a = a + 1
@@ -136,13 +129,11 @@ end
 
 ! { dg-final { scan-tree-dump-times "#pragma omp for reduction\\(\\\+:a\\)" 2 "original" } }
 ! { dg-final { scan-tree-dump-times "#pragma omp for reduction\\(task,\\\+:a\\)" 1 "original" } }
-! { dg-final { scan-tree-dump-times "#pragma omp parallel\[\n\r\]" 7 "original" } }
+! { dg-final { scan-tree-dump-times "#pragma omp parallel\[\n\r\]" 6 "original" } }
 ! { dg-final { scan-tree-dump-times "#pragma omp parallel private\\(i\\) reduction\\(\\\+:a\\)" 2 "original" } }
-! { dg-final { scan-tree-dump-times "#pragma omp parallel private\\(i\\) reduction\\(inscan,\\\+:a\\)" 1 "original" } }
 ! { dg-final { scan-tree-dump-times "#pragma omp parallel private\\(i\\) reduction\\(task,\\\+:a\\)" 1 "original" } }
-! { dg-final { scan-tree-dump-times "#pragma omp section\[\n\r\]" 4 "original" } }
+! { dg-final { scan-tree-dump-times "#pragma omp section\[\n\r\]" 3 "original" } }
 ! { dg-final { scan-tree-dump-times "#pragma omp sections reduction\\(\\\+:a\\)" 2 "original" } }
-! { dg-final { scan-tree-dump-times "#pragma omp sections reduction\\(inscan,\\\+:a\\)" 1 "original" } }
 ! { dg-final { scan-tree-dump-times "#pragma omp sections reduction\\(task,\\\+:a\\)" 1 "original" } }
 ! { dg-final { scan-tree-dump-times "#pragma omp simd linear\\(i:1\\) reduction\\(\\\+:a\\)" 2 "original" } }
 ! { dg-final { scan-tree-dump-times "#pragma omp simd linear\\(i:1\\) reduction\\(task,\\\+:a\\)" 1 "original" } }
index bfb847e99332c1aab97e2883d35d0ffe2e9f8444..032703d3b81293638c387ccd526b3149b0018787 100644 (file)
@@ -42,4 +42,18 @@ end do
   a = a + 1
 !$omp end teams
 
+!$omp parallel reduction(inscan,+:a)  ! { dg-error "'inscan' REDUCTION clause on construct other than DO, SIMD, DO SIMD, PARALLEL DO, PARALLEL DO SIMD" }
+do i=1,10
+  a = a + 1
+end do
+!$omp end parallel
+
+!$omp parallel
+!$omp sections reduction(inscan,+:a)   ! { dg-error "'inscan' REDUCTION clause on construct other than DO, SIMD, DO SIMD, PARALLEL DO, PARALLEL DO SIMD" }
+  !$omp section
+  a = a + 1
+!$omp end sections
+!$omp end parallel
+
+
 end