diff options
author | mrs <mrs@138bc75d-0d04-0410-961f-82ee72b054a4> | 2013-09-04 23:04:18 +0000 |
---|---|---|
committer | mrs <mrs@138bc75d-0d04-0410-961f-82ee72b054a4> | 2013-09-04 23:04:18 +0000 |
commit | d85a20139d881d9d1adab64ffc7305cb3ae98e2a (patch) | |
tree | 0f4ef35ecb306a63e1426bcc2ec3b362210eccfe /gcc/tree-pretty-print.c | |
parent | 4d4ec3c86cac3f21e5908f762285a995b69dd4e2 (diff) | |
parent | 7d500d30a2205a6e6e6783a4b92cc38d66f3b70b (diff) | |
download | gcc-d85a20139d881d9d1adab64ffc7305cb3ae98e2a.tar.gz |
Merge in trunk.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/wide-int@202265 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/tree-pretty-print.c')
-rw-r--r-- | gcc/tree-pretty-print.c | 40 |
1 files changed, 38 insertions, 2 deletions
diff --git a/gcc/tree-pretty-print.c b/gcc/tree-pretty-print.c index 498763058aa..e6fb0370fac 100644 --- a/gcc/tree-pretty-print.c +++ b/gcc/tree-pretty-print.c @@ -34,6 +34,8 @@ along with GCC; see the file COPYING3. If not see #include "predict.h" #include "wide-int-print.h" +#include <new> // For placement-new. + /* Local functions, macros and variables. */ static const char *op_symbol (const_tree); static void pretty_print_string (pretty_printer *, const char*); @@ -315,11 +317,14 @@ dump_omp_clause (pretty_printer *buffer, tree clause, int spc, int flags) case OMP_CLAUSE_COPYPRIVATE: name = "copyprivate"; goto print_remap; + case OMP_CLAUSE_UNIFORM: + name = "uniform"; + goto print_remap; print_remap: pp_string (buffer, name); pp_left_paren (buffer); dump_generic_node (buffer, OMP_CLAUSE_DECL (clause), - spc, flags, false); + spc, flags, false); pp_right_paren (buffer); break; @@ -432,6 +437,30 @@ dump_omp_clause (pretty_printer *buffer, tree clause, int spc, int flags) pp_string (buffer, "mergeable"); break; + case OMP_CLAUSE_LINEAR: + pp_string (buffer, "linear("); + dump_generic_node (buffer, OMP_CLAUSE_DECL (clause), + spc, flags, false); + pp_character (buffer, ':'); + dump_generic_node (buffer, OMP_CLAUSE_LINEAR_STEP (clause), + spc, flags, false); + pp_character (buffer, ')'); + break; + + case OMP_CLAUSE_SAFELEN: + pp_string (buffer, "safelen("); + dump_generic_node (buffer, OMP_CLAUSE_SAFELEN_EXPR (clause), + spc, flags, false); + pp_character (buffer, ')'); + break; + + case OMP_CLAUSE__SIMDUID_: + pp_string (buffer, "_simduid_("); + dump_generic_node (buffer, OMP_CLAUSE__SIMDUID__DECL (clause), + spc, flags, false); + pp_character (buffer, ')'); + break; + default: /* Should never happen. */ dump_generic_node (buffer, clause, spc, flags, false); @@ -2171,6 +2200,13 @@ dump_generic_node (pretty_printer *buffer, tree node, int spc, int flags, case OMP_FOR: pp_string (buffer, "#pragma omp for"); + goto dump_omp_loop; + + case OMP_SIMD: + pp_string (buffer, "#pragma omp simd"); + goto dump_omp_loop; + + dump_omp_loop: dump_omp_clauses (buffer, OMP_FOR_CLAUSES (node), spc, flags); if (!(flags & TDF_SLIM)) @@ -3053,7 +3089,7 @@ maybe_init_pretty_print (FILE *file) { if (!initialized) { - pp_construct (&buffer, /* prefix */NULL, /* line-width */0); + new (&buffer) pretty_printer (); pp_needs_newline (&buffer) = true; pp_translate_identifiers (&buffer) = false; initialized = 1; |