public inbox for gcc-cvs@sourceware.org
help / color / mirror / Atom feed
* [gcc r12-1158] Fortran/OpenMP: Add gfortran.dg/gomp/taskloop-2.f90 [PR99928]
@ 2021-06-02  9:48 Tobias Burnus
  0 siblings, 0 replies; only message in thread
From: Tobias Burnus @ 2021-06-02  9:48 UTC (permalink / raw)
  To: gcc-cvs

https://gcc.gnu.org/g:9ca24bd34b6ac44c17f949d89ff60d0fd4665133

commit r12-1158-g9ca24bd34b6ac44c17f949d89ff60d0fd4665133
Author: Tobias Burnus <tobias@codesourcery.com>
Date:   Wed Jun 2 11:48:21 2021 +0200

    Fortran/OpenMP: Add gfortran.dg/gomp/taskloop-2.f90 [PR99928]
    
            PR middle-end/99928
    
    gcc/testsuite/ChangeLog
    
            * gfortran.dg/gomp/taskloop-2.f90: New.

Diff:
---
 gcc/testsuite/gfortran.dg/gomp/taskloop-2.f90 | 72 +++++++++++++++++++++++++++
 1 file changed, 72 insertions(+)

diff --git a/gcc/testsuite/gfortran.dg/gomp/taskloop-2.f90 b/gcc/testsuite/gfortran.dg/gomp/taskloop-2.f90
new file mode 100644
index 00000000000..21427623584
--- /dev/null
+++ b/gcc/testsuite/gfortran.dg/gomp/taskloop-2.f90
@@ -0,0 +1,72 @@
+subroutine foo()
+implicit none
+integer :: i, r
+!$omp taskloop reduction(task, +: r)  ! { dg-error "Only DEFAULT permitted as reduction-modifier in REDUCTION clause" }
+do i = 1, 64
+end do
+!$omp taskloop simd reduction(task, +: r)  ! { dg-error "Only DEFAULT permitted as reduction-modifier in REDUCTION clause" }
+do i = 1, 64
+end do
+!$omp master taskloop reduction(task, +: r)  ! { dg-error "Only DEFAULT permitted as reduction-modifier in REDUCTION clause" }
+do i = 1, 64
+end do
+!$omp master taskloop simd reduction(task, +: r)  ! { dg-error "Only DEFAULT permitted as reduction-modifier in REDUCTION clause" }
+do i = 1, 64
+end do
+!$omp parallel master taskloop reduction(task, +: r)  ! { dg-error "Only DEFAULT permitted as reduction-modifier in REDUCTION clause" }
+do i = 1, 64
+end do
+!$omp parallel master taskloop simd reduction(task, +: r)  ! { dg-error "Only DEFAULT permitted as reduction-modifier in REDUCTION clause" }
+do i = 1, 64
+end do
+
+!$omp taskloop reduction(inscan, +: r)  ! { dg-error "'inscan' REDUCTION clause on construct other than DO, SIMD, DO SIMD, PARALLEL DO, PARALLEL DO SIMD" }
+do i = 1, 64                            ! { dg-error "OMP SCAN between two structured-block-sequences" "" { target *-*-* } .-1 }
+end do
+!$omp taskloop simd reduction(inscan, +: r)  ! { dg-error "'inscan' REDUCTION clause on construct other than DO, SIMD, DO SIMD, PARALLEL DO, PARALLEL DO SIMD" }
+do i = 1, 64                                 ! { dg-error "OMP SCAN between two structured-block-sequences" "" { target *-*-* } .-1 }
+end do
+!$omp master taskloop reduction(inscan, +: r) ! { dg-error "'inscan' REDUCTION clause on construct other than DO, SIMD, DO SIMD, PARALLEL DO, PARALLEL DO SIMD" }
+do i = 1, 64
+end do
+!$omp master taskloop simd reduction(inscan, +: r)  ! { dg-error "'inscan' REDUCTION clause on construct other than DO, SIMD, DO SIMD, PARALLEL DO, PARALLEL DO SIMD" }
+do i = 1, 64
+end do
+!$omp parallel master taskloop reduction(inscan, +: r)  ! { dg-error "'inscan' REDUCTION clause on construct other than DO, SIMD, DO SIMD, PARALLEL DO, PARALLEL DO SIMD" }
+do i = 1, 64                                 ! { dg-error "OMP SCAN between two structured-block-sequences" "" { target *-*-* } .-1 }
+end do
+!$omp parallel master taskloop simd reduction(inscan, +: r)   ! { dg-error "'inscan' REDUCTION clause on construct other than DO, SIMD, DO SIMD, PARALLEL DO, PARALLEL DO SIMD" }
+do i = 1, 64                                 ! { dg-error "OMP SCAN between two structured-block-sequences" "" { target *-*-* } .-1 }
+end do
+end
+
+
+subroutine bar()
+implicit none
+integer :: i, r
+r = 0
+!$omp parallel reduction(+:r)
+  !$omp master taskloop in_reduction(+:r)
+    do i = 1, 64
+    end do
+  !$omp master taskloop simd in_reduction(+:r)
+    do i = 1, 64
+    end do
+  !$omp master
+    !$omp taskloop in_reduction(+:r)
+      do i = 1, 64
+      end do
+    !$omp taskloop simd in_reduction(+:r)
+      do i = 1, 64
+      end do
+  !$omp end master
+!$omp end parallel
+
+!$omp parallel master taskloop in_reduction(+:r)  ! { dg-error "Failed to match clause" }
+    do i = 1, 64
+    end do
+
+!$omp parallel master taskloop simd in_reduction(+:r)  ! { dg-error "Failed to match clause" }
+    do i = 1, 64
+    end do
+end


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2021-06-02  9:48 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-06-02  9:48 [gcc r12-1158] Fortran/OpenMP: Add gfortran.dg/gomp/taskloop-2.f90 [PR99928] Tobias Burnus

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).