summaryrefslogtreecommitdiffstats
path: root/libgomp/testsuite
diff options
context:
space:
mode:
authorjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>2007-11-10 07:51:55 +0000
committerjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>2007-11-10 07:51:55 +0000
commitdcaa067ea507d61dbd6ce3f4dc1b7c05beb68781 (patch)
tree9d3f2ce4c54127ae9b5aa594d54bd9031add67ce /libgomp/testsuite
parent3d053ea5c19cfe989d10c3d847d0bbe1c73a7386 (diff)
downloadppe42-gcc-dcaa067ea507d61dbd6ce3f4dc1b7c05beb68781.tar.gz
ppe42-gcc-dcaa067ea507d61dbd6ce3f4dc1b7c05beb68781.zip
PR fortran/34020
* gimplify.c (goa_lhs_expr_p): Inside INDIRECT_REF handle unshared nops. * testsuite/libgomp.fortran/pr34020.f90: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@130069 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libgomp/testsuite')
-rw-r--r--libgomp/testsuite/libgomp.fortran/pr34020.f9019
1 files changed, 19 insertions, 0 deletions
diff --git a/libgomp/testsuite/libgomp.fortran/pr34020.f90 b/libgomp/testsuite/libgomp.fortran/pr34020.f90
new file mode 100644
index 00000000000..3bb14f5fe3d
--- /dev/null
+++ b/libgomp/testsuite/libgomp.fortran/pr34020.f90
@@ -0,0 +1,19 @@
+! PR fortran/34020
+! { dg-do run }
+
+ subroutine atomic_add(lhs, rhs)
+ real lhs, rhs
+!$omp atomic
+ lhs = rhs + lhs
+ end
+
+ real lhs, rhs
+ integer i
+ lhs = 0
+ rhs = 1
+!$omp parallel do num_threads(8) shared(lhs, rhs)
+ do i = 1, 300000
+ call atomic_add(lhs, rhs)
+ enddo
+ if (lhs .ne. 300000) call abort
+ end
OpenPOWER on IntegriCloud