aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-pretty-print.cc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/tree-pretty-print.cc')
-rw-r--r--gcc/tree-pretty-print.cc68
1 files changed, 43 insertions, 25 deletions
diff --git a/gcc/tree-pretty-print.cc b/gcc/tree-pretty-print.cc
index 47371d8..33b12c7 100644
--- a/gcc/tree-pretty-print.cc
+++ b/gcc/tree-pretty-print.cc
@@ -831,34 +831,9 @@ dump_omp_clause (pretty_printer *pp, tree clause, int spc, dump_flags_t flags)
case OMP_CLAUSE_DEPEND_INOUTSET:
name = "inoutset";
break;
- case OMP_CLAUSE_DEPEND_SOURCE:
- pp_string (pp, "source)");
- return;
case OMP_CLAUSE_DEPEND_LAST:
name = "__internal__";
break;
- case OMP_CLAUSE_DEPEND_SINK:
- pp_string (pp, "sink:");
- for (tree t = OMP_CLAUSE_DECL (clause); t; t = TREE_CHAIN (t))
- if (TREE_CODE (t) == TREE_LIST)
- {
- dump_generic_node (pp, TREE_VALUE (t), spc, flags, false);
- if (TREE_PURPOSE (t) != integer_zero_node)
- {
- if (OMP_CLAUSE_DEPEND_SINK_NEGATIVE (t))
- pp_minus (pp);
- else
- pp_plus (pp);
- dump_generic_node (pp, TREE_PURPOSE (t), spc, flags,
- false);
- }
- if (TREE_CHAIN (t))
- pp_comma (pp);
- }
- else
- gcc_unreachable ();
- pp_right_paren (pp);
- return;
default:
gcc_unreachable ();
}
@@ -885,6 +860,49 @@ dump_omp_clause (pretty_printer *pp, tree clause, int spc, dump_flags_t flags)
}
break;
+ case OMP_CLAUSE_DOACROSS:
+ pp_string (pp, OMP_CLAUSE_DOACROSS_DEPEND (clause)
+ ? "depend(" : "doacross(");
+ switch (OMP_CLAUSE_DOACROSS_KIND (clause))
+ {
+ case OMP_CLAUSE_DOACROSS_SOURCE:
+ if (OMP_CLAUSE_DOACROSS_DEPEND (clause))
+ pp_string (pp, "source)");
+ else
+ pp_string (pp, "source:)");
+ break;
+ case OMP_CLAUSE_DOACROSS_SINK:
+ pp_string (pp, "sink:");
+ if (OMP_CLAUSE_DECL (clause) == NULL_TREE)
+ {
+ pp_string (pp, "omp_cur_iteration-1)");
+ break;
+ }
+ for (tree t = OMP_CLAUSE_DECL (clause); t; t = TREE_CHAIN (t))
+ if (TREE_CODE (t) == TREE_LIST)
+ {
+ dump_generic_node (pp, TREE_VALUE (t), spc, flags, false);
+ if (TREE_PURPOSE (t) != integer_zero_node)
+ {
+ if (OMP_CLAUSE_DOACROSS_SINK_NEGATIVE (t))
+ pp_minus (pp);
+ else
+ pp_plus (pp);
+ dump_generic_node (pp, TREE_PURPOSE (t), spc, flags,
+ false);
+ }
+ if (TREE_CHAIN (t))
+ pp_comma (pp);
+ }
+ else
+ gcc_unreachable ();
+ pp_right_paren (pp);
+ break;
+ default:
+ gcc_unreachable ();
+ }
+ break;
+
case OMP_CLAUSE_MAP:
pp_string (pp, "map(");
switch (OMP_CLAUSE_MAP_KIND (clause))