Revert "openacc: Allow strided arrays in update directives"
authorJulian Brown <julian@codesourcery.com>
Tue, 9 Feb 2021 22:09:00 +0000 (14:09 -0800)
committerJulian Brown <julian@codesourcery.com>
Wed, 10 Feb 2021 03:16:28 +0000 (19:16 -0800)
This patch reverts the non-testsuite parts of commit
9a4d32f85ccebc0ee4b24e6d9d7a4f11c04d7146 which cause ICEs without the
yet-to-be-approved patch here:

  https://gcc.gnu.org/pipermail/gcc-patches/2021-February/564711.html

gcc/fortran/

PR fortran/98979
* openmp.c (resolve_omp_clauses): Omit OpenACC update in
contiguity check and stride-specified error.

gcc/fortran/openmp.c

index 797f6c86b62049e436d45fc6c05007458c04098a..aab17f0589f6e44708ecd1f2acc27fb4303b17f7 100644 (file)
@@ -5192,8 +5192,7 @@ resolve_omp_clauses (gfc_code *code, gfc_omp_clauses *omp_clauses,
                           array isn't contiguous.  An expression such as
                           arr(-n:n,-n:n) could be contiguous even if it looks
                           like it may not be.  */
-                       if (code->op != EXEC_OACC_UPDATE
-                           && list != OMP_LIST_CACHE
+                       if (list != OMP_LIST_CACHE
                            && list != OMP_LIST_DEPEND
                            && !gfc_is_simply_contiguous (n->expr, false, true)
                            && gfc_is_not_contiguous (n->expr))
@@ -5231,7 +5230,7 @@ resolve_omp_clauses (gfc_code *code, gfc_omp_clauses *omp_clauses,
                        int i;
                        gfc_array_ref *ar = &array_ref->u.ar;
                        for (i = 0; i < ar->dimen; i++)
-                         if (ar->stride[i] && code->op != EXEC_OACC_UPDATE)
+                         if (ar->stride[i])
                            {
                              gfc_error ("Stride should not be specified for "
                                         "array section in %s clause at %L",