summaryrefslogtreecommitdiff
path: root/libgomp/testsuite/libgomp.fortran/recursion1.f90
diff options
context:
space:
mode:
Diffstat (limited to 'libgomp/testsuite/libgomp.fortran/recursion1.f90')
-rw-r--r--libgomp/testsuite/libgomp.fortran/recursion1.f9028
1 files changed, 28 insertions, 0 deletions
diff --git a/libgomp/testsuite/libgomp.fortran/recursion1.f90 b/libgomp/testsuite/libgomp.fortran/recursion1.f90
new file mode 100644
index 000000000..35cb8786e
--- /dev/null
+++ b/libgomp/testsuite/libgomp.fortran/recursion1.f90
@@ -0,0 +1,28 @@
+! { dg-do run }
+! { dg-options "-fopenmp -fcheck=recursion" }
+!
+! PR 42517: Bogus runtime error with -fopenmp -fcheck=recursion
+!
+! Contributed by Janus Weil <janus@gcc.gnu.org>
+
+implicit none
+integer :: i,s
+
+s=0
+!$omp parallel do private(i) shared(s)
+do i=1,10
+ call sub(i)
+end do
+!$omp end parallel do
+if (s/=55) call abort()
+
+contains
+
+ subroutine sub (n)
+ integer :: n
+!$omp atomic
+ s = s + n
+ print '(A,i3)',"loop =",n
+ end subroutine
+
+end