]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
Minor fixes for OpenACC/Fortran 'self' clause for compute constructs
authorThomas Schwinge <thomas@codesourcery.com>
Fri, 20 Oct 2023 13:49:35 +0000 (15:49 +0200)
committerThomas Schwinge <tschwinge@baylibre.com>
Thu, 14 Mar 2024 14:41:57 +0000 (15:41 +0100)
... 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'.

gcc/fortran/dump-parse-tree.cc
gcc/fortran/openmp.cc
gcc/fortran/trans-openmp.cc

index db84b06289be047743ef55186fd51afd07d18e05..7bc78663768ca287a995f40193ab8a02709106cb 100644 (file)
@@ -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);
index 5c44e666eb998181cfd4fa349199dc5ff6e156de..315ec68f259d12c150119d8127f4c3948427bd09 100644 (file)
@@ -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);
index 7a088ec5b2dfd7756d9b26fc97d9852c0da51d7d..f867e2240bf8299455a4e8f88910b595502ba5cf 100644 (file)
@@ -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;
        }