From b0fb2720d88d680af18981a2097397196b505a1f Mon Sep 17 00:00:00 2001 From: Julian Brown Date: Tue, 9 Feb 2021 14:09:00 -0800 Subject: [PATCH] Revert "openacc: Allow strided arrays in update directives" 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 | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/gcc/fortran/openmp.c b/gcc/fortran/openmp.c index 797f6c86b62..aab17f0589f 100644 --- a/gcc/fortran/openmp.c +++ b/gcc/fortran/openmp.c @@ -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", -- 2.30.2