https://gcc.gnu.org/g:473c6123ffad38dddef7b126bf97971784d94b40

commit r14-9471-g473c6123ffad38dddef7b126bf97971784d94b40
Author: Thomas Schwinge <tho...@codesourcery.com>
Date:   Fri Oct 20 15:49:35 2023 +0200

    Minor fixes for OpenACC/Fortran 'self' clause for compute constructs
    
    ... to fix up recent commit 3a3596389c2e539cb8fd5dc5784a4e2afe193a2a
    "OpenACC 2.7: Implement self clause for compute constructs".
    
            gcc/fortran/
            * dump-parse-tree.cc (show_omp_clauses): Handle 'self_expr'.
            * openmp.cc (gfc_free_omp_clauses): Likewise.
            * trans-openmp.cc (gfc_split_omp_clauses): Don't handle 'self_expr'.

Diff:
---
 gcc/fortran/dump-parse-tree.cc | 6 ++++++
 gcc/fortran/openmp.cc          | 1 +
 gcc/fortran/trans-openmp.cc    | 2 --
 3 files changed, 7 insertions(+), 2 deletions(-)

diff --git a/gcc/fortran/dump-parse-tree.cc b/gcc/fortran/dump-parse-tree.cc
index db84b06289b..7bc78663768 100644
--- a/gcc/fortran/dump-parse-tree.cc
+++ b/gcc/fortran/dump-parse-tree.cc
@@ -1619,6 +1619,12 @@ show_omp_clauses (gfc_omp_clauses *omp_clauses)
       show_expr (omp_clauses->if_exprs[i]);
       fputc (')', dumpfile);
     }
+  if (omp_clauses->self_expr)
+    {
+      fputs (" SELF(", dumpfile);
+      show_expr (omp_clauses->self_expr);
+      fputc (')', dumpfile);
+    }
   if (omp_clauses->final_expr)
     {
       fputs (" FINAL(", dumpfile);
diff --git a/gcc/fortran/openmp.cc b/gcc/fortran/openmp.cc
index 5c44e666eb9..315ec68f259 100644
--- a/gcc/fortran/openmp.cc
+++ b/gcc/fortran/openmp.cc
@@ -164,6 +164,7 @@ gfc_free_omp_clauses (gfc_omp_clauses *c)
   gfc_free_expr (c->if_expr);
   for (i = 0; i < OMP_IF_LAST; i++)
     gfc_free_expr (c->if_exprs[i]);
+  gfc_free_expr (c->self_expr);
   gfc_free_expr (c->final_expr);
   gfc_free_expr (c->num_threads);
   gfc_free_expr (c->chunk_size);
diff --git a/gcc/fortran/trans-openmp.cc b/gcc/fortran/trans-openmp.cc
index 7a088ec5b2d..f867e2240bf 100644
--- a/gcc/fortran/trans-openmp.cc
+++ b/gcc/fortran/trans-openmp.cc
@@ -6840,8 +6840,6 @@ gfc_split_omp_clauses (gfc_code *code,
          /* And this is copied to all.  */
          clausesa[GFC_OMP_SPLIT_TARGET].if_expr
            = code->ext.omp_clauses->if_expr;
-         clausesa[GFC_OMP_SPLIT_TARGET].self_expr
-           = code->ext.omp_clauses->self_expr;
          clausesa[GFC_OMP_SPLIT_TARGET].nowait
            = code->ext.omp_clauses->nowait;
        }

Reply via email to