aboutsummaryrefslogtreecommitdiff
path: root/libgomp
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2015-03-30 19:54:05 +0200
committerJakub Jelinek <jakub@gcc.gnu.org>2015-03-30 19:54:05 +0200
commit6c384511a36aa97eda218a2935fe3a14720e3b59 (patch)
treee169c7dce5304cb388868183121b7389a1585e6c /libgomp
parent744e26e71e5df840ff1fa5e351cadba31e7c29a6 (diff)
downloadgcc-6c384511a36aa97eda218a2935fe3a14720e3b59.zip
gcc-6c384511a36aa97eda218a2935fe3a14720e3b59.tar.gz
gcc-6c384511a36aa97eda218a2935fe3a14720e3b59.tar.bz2
re PR middle-end/65597 (ICE in build_outer_var_ref, at omp-low.c:1043)
PR fortran/65597 * trans-openmp.c (gfc_trans_omp_do): For !simple simd with explicit linear clause for the iterator set OMP_CLAUSE_LINEAR_NO_COPYIN. For implcitly added !simple OMP_CLAUSE_LINEAR set it too. Use step 1 instead of the original step on the new iterator - count. * testsuite/libgomp.fortran/pr65597.f90: New test. From-SVN: r221776
Diffstat (limited to 'libgomp')
-rw-r--r--libgomp/ChangeLog5
-rw-r--r--libgomp/testsuite/libgomp.fortran/pr65597.f9021
2 files changed, 26 insertions, 0 deletions
diff --git a/libgomp/ChangeLog b/libgomp/ChangeLog
index b2e7892..74a28258 100644
--- a/libgomp/ChangeLog
+++ b/libgomp/ChangeLog
@@ -1,3 +1,8 @@
+2015-03-30 Jakub Jelinek <jakub@redhat.com>
+
+ PR fortran/65597
+ * testsuite/libgomp.fortran/pr65597.f90: New test.
+
2015-03-27 Tom de Vries <tom@codesourcery.com>
PR testsuite/65594
diff --git a/libgomp/testsuite/libgomp.fortran/pr65597.f90 b/libgomp/testsuite/libgomp.fortran/pr65597.f90
new file mode 100644
index 0000000..c19f077
--- /dev/null
+++ b/libgomp/testsuite/libgomp.fortran/pr65597.f90
@@ -0,0 +1,21 @@
+! PR fortran/65597
+! { dg-do run }
+
+ integer :: i, a(151)
+ a(:) = 0
+ !$omp do simd
+ do i = 1, 151, 31
+ a(i) = a(i) + 1
+ end do
+ !$omp do simd linear (i: 31)
+ do i = 1, 151, 31
+ a(i) = a(i) + 1
+ end do
+ do i = 1, 151
+ if (mod (i, 31) .eq. 1) then
+ if (a(i) .ne. 2) call abort
+ else
+ if (a(i) .ne. 0) call abort
+ end if
+ end do
+end