aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/dump-parse-tree.c
diff options
context:
space:
mode:
authorTobias Burnus <tobias@codesourcery.com>2021-10-13 11:53:30 +0200
committerTobias Burnus <tobias@codesourcery.com>2021-10-13 11:53:30 +0200
commit77c7abe3588d407ed820224f8d1b1a17a16831a0 (patch)
treec97e8813f350b45d179af521e71cb31dd207b895 /gcc/fortran/dump-parse-tree.c
parentc1b6c360fcf3fc1c0045c7358d61a83c91b6fa25 (diff)
downloadgcc-77c7abe3588d407ed820224f8d1b1a17a16831a0.zip
gcc-77c7abe3588d407ed820224f8d1b1a17a16831a0.tar.gz
gcc-77c7abe3588d407ed820224f8d1b1a17a16831a0.tar.bz2
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.
Diffstat (limited to 'gcc/fortran/dump-parse-tree.c')
-rw-r--r--gcc/fortran/dump-parse-tree.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/gcc/fortran/dump-parse-tree.c b/gcc/fortran/dump-parse-tree.c
index 64e04c0..14a3078 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;