It never makes sense for a GOMP_MAP_ATTACH_DETACH mapping to survive
beyond gimplify.c, so this patch rewrites such mappings to GOMP_MAP_ATTACH
or GOMP_MAP_DETACH unconditionally (rather than checking for a list
of types of OpenACC or OpenMP constructs), in cases where it hasn't
otherwise been done already in the preceding code.

I will apply shortly to the og10 branch.

Thanks,

Julian

2021-05-19  Julian Brown  <jul...@codesourcery.com>

gcc/
        * gimplify.c (gimplify_scan_omp_clauses): Simplify condition
        for changing GOMP_MAP_ATTACH_DETACH to GOMP_MAP_ATTACH or
        GOMP_MAP_DETACH.
---
 gcc/gimplify.c | 10 +---------
 1 file changed, 1 insertion(+), 9 deletions(-)

diff --git a/gcc/gimplify.c b/gcc/gimplify.c
index e51f0dd7787..b94004dc7b1 100644
--- a/gcc/gimplify.c
+++ b/gcc/gimplify.c
@@ -9647,15 +9647,7 @@ gimplify_scan_omp_clauses (tree *list_p, gimple_seq 
*pre_p,
                skip_map_struct:
                  ;
                }
-             else if ((code == OACC_ENTER_DATA
-                       || code == OACC_EXIT_DATA
-                       || code == OACC_DATA
-                       || code == OACC_PARALLEL
-                       || code == OACC_KERNELS
-                       || code == OACC_SERIAL
-                       || code == OMP_TARGET_ENTER_DATA
-                       || code == OMP_TARGET_EXIT_DATA)
-                      && OMP_CLAUSE_MAP_KIND (c) == GOMP_MAP_ATTACH_DETACH)
+             else if (OMP_CLAUSE_MAP_KIND (c) == GOMP_MAP_ATTACH_DETACH)
                {
                  gomp_map_kind k = ((code == OACC_EXIT_DATA
                                      || code == OMP_TARGET_EXIT_DATA)
-- 
2.29.2

Reply via email to