public inbox for gcc-cvs@sourceware.org
help / color / mirror / Atom feed
* [gcc r12-4368] Fortran: dump-parse-tree.c fixes for OpenMP
@ 2021-10-13  9:54 Tobias Burnus
  0 siblings, 0 replies; only message in thread
From: Tobias Burnus @ 2021-10-13  9:54 UTC (permalink / raw)
  To: gcc-cvs

https://gcc.gnu.org/g:77c7abe3588d407ed820224f8d1b1a17a16831a0

commit r12-4368-g77c7abe3588d407ed820224f8d1b1a17a16831a0
Author: Tobias Burnus <tobias@codesourcery.com>
Date:   Wed Oct 13 11:53:30 2021 +0200

    Fortran: dump-parse-tree.c fixes for OpenMP
    
    gcc/fortran/ChangeLog:
    
            * dump-parse-tree.c (show_omp_clauses): Handle ancestor modifier,
            avoid ICE for GFC_OMP_ATOMIC_SWAP.
            * gfortran.h (gfc_omp_clauses): Change 'anecestor' into a bitfield.

Diff:
---
 gcc/fortran/dump-parse-tree.c | 4 +++-
 gcc/fortran/gfortran.h        | 3 +--
 2 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/gcc/fortran/dump-parse-tree.c b/gcc/fortran/dump-parse-tree.c
index 64e04c043f6..14a307856fc 100644
--- a/gcc/fortran/dump-parse-tree.c
+++ b/gcc/fortran/dump-parse-tree.c
@@ -1750,6 +1750,8 @@ show_omp_clauses (gfc_omp_clauses *omp_clauses)
   if (omp_clauses->device)
     {
       fputs (" DEVICE(", dumpfile);
+      if (omp_clauses->ancestor)
+	fputs ("ANCESTOR:", dumpfile);
       show_expr (omp_clauses->device);
       fputc (')', dumpfile);
     }
@@ -1894,7 +1896,7 @@ show_omp_clauses (gfc_omp_clauses *omp_clauses)
   if (omp_clauses->atomic_op != GFC_OMP_ATOMIC_UNSET)
     {
       const char *atomic_op;
-      switch (omp_clauses->atomic_op)
+      switch (omp_clauses->atomic_op & GFC_OMP_ATOMIC_MASK)
 	{
 	case GFC_OMP_ATOMIC_READ: atomic_op = "READ"; break;
 	case GFC_OMP_ATOMIC_WRITE: atomic_op = "WRITE"; break;
diff --git a/gcc/fortran/gfortran.h b/gcc/fortran/gfortran.h
index c25d1cca3a8..b2b0254a3c3 100644
--- a/gcc/fortran/gfortran.h
+++ b/gcc/fortran/gfortran.h
@@ -1482,12 +1482,11 @@ typedef struct gfc_omp_clauses
   struct gfc_expr *dist_chunk_size;
   struct gfc_expr *message;
   const char *critical_name;
-  bool ancestor;
   enum gfc_omp_default_sharing default_sharing;
   enum gfc_omp_atomic_op atomic_op;
   enum gfc_omp_defaultmap defaultmap[OMP_DEFAULTMAP_CAT_NUM];
   int collapse, orderedc;
-  unsigned nowait:1, ordered:1, untied:1, mergeable:1;
+  unsigned nowait:1, ordered:1, untied:1, mergeable:1, ancestor:1;
   unsigned inbranch:1, notinbranch:1, nogroup:1;
   unsigned sched_simd:1, sched_monotonic:1, sched_nonmonotonic:1;
   unsigned simd:1, threads:1, depend_source:1, destroy:1, order_concurrent:1;


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2021-10-13  9:54 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-10-13  9:54 [gcc r12-4368] Fortran: dump-parse-tree.c fixes for OpenMP Tobias Burnus

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).