[PATCH 1/2] Revert "openacc: Allow strided arrays in update directives"
Julian Brown
julian@codesourcery.com
Wed Feb 10 03:14:06 GMT 2021
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.29.2
More information about the Gcc-patches
mailing list