https://gcc.gnu.org/g:8c1068bbe3e52529bede5466a43af8d98f38dac2
commit 8c1068bbe3e52529bede5466a43af8d98f38dac2 Author: Paul-Antoine Arras <par...@baylibre.com> Date: Wed May 29 15:57:22 2024 +0200 Fix non-contiguous array support Make commit 9dfd943acf3de00142f86cea5283345725e74cef 'Update expected messages in data-clause-1 tests' valid again. Diff: --- gcc/c/c-typeck.cc | 7 +++---- gcc/cp/semantics.cc | 7 +++---- 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/gcc/c/c-typeck.cc b/gcc/c/c-typeck.cc index a1a2f10c05c..c728e69a748 100644 --- a/gcc/c/c-typeck.cc +++ b/gcc/c/c-typeck.cc @@ -14276,11 +14276,10 @@ handle_omp_array_sections_1 (tree c, tree t, vec<tree> &types, if (d_length == NULL_TREE || !integer_onep (d_length) || (d_stride && !integer_onep (d_stride))) { - if (ort == C_ORT_ACC - && OMP_CLAUSE_CODE (c) == OMP_CLAUSE_MAP) + if (openacc && OMP_CLAUSE_CODE (c) == OMP_CLAUSE_MAP) { - while (TREE_CODE (d) == TREE_LIST) - d = TREE_CHAIN (d); + while (TREE_CODE (d) == OMP_ARRAY_SECTION) + d = TREE_OPERAND (d, 0); if (DECL_P (d)) { /* Note that OpenACC does accept these kinds of diff --git a/gcc/cp/semantics.cc b/gcc/cp/semantics.cc index ac93ac5e912..f244008f7df 100644 --- a/gcc/cp/semantics.cc +++ b/gcc/cp/semantics.cc @@ -5884,11 +5884,10 @@ handle_omp_array_sections_1 (tree c, tree t, vec<tree> &types, || !integer_onep (d_length) || (d_stride && !integer_onep (d_stride))) { - if (ort == C_ORT_ACC - && OMP_CLAUSE_CODE (c) == OMP_CLAUSE_MAP) + if (openacc && OMP_CLAUSE_CODE (c) == OMP_CLAUSE_MAP) { - while (TREE_CODE (d) == TREE_LIST) - d = TREE_CHAIN (d); + while (TREE_CODE (d) == OMP_ARRAY_SECTION) + d = TREE_OPERAND (d, 0); if (DECL_P (d)) { /* Note that OpenACC does accept these kinds of