diff options
Diffstat (limited to 'gcc/gimple-pretty-print.c')
-rw-r--r-- | gcc/gimple-pretty-print.c | 36 |
1 files changed, 33 insertions, 3 deletions
diff --git a/gcc/gimple-pretty-print.c b/gcc/gimple-pretty-print.c index 4243eb7..0ccbd6c 100644 --- a/gcc/gimple-pretty-print.c +++ b/gcc/gimple-pretty-print.c @@ -1799,9 +1799,6 @@ dump_gimple_omp_block (pretty_printer *buffer, gimple *gs, int spc, case GIMPLE_OMP_MASTER: pp_string (buffer, "#pragma omp master"); break; - case GIMPLE_OMP_TASKGROUP: - pp_string (buffer, "#pragma omp taskgroup"); - break; case GIMPLE_OMP_SECTION: pp_string (buffer, "#pragma omp section"); break; @@ -1880,6 +1877,34 @@ dump_gimple_omp_ordered (pretty_printer *buffer, gomp_ordered *gs, } } +/* Dump a GIMPLE_OMP_SCAN tuple on the pretty_printer BUFFER. */ + +static void +dump_gimple_omp_scan (pretty_printer *buffer, gomp_scan *gs, + int spc, dump_flags_t flags) +{ + if (flags & TDF_RAW) + dump_gimple_fmt (buffer, spc, flags, "%G <%+BODY <%S> >", gs, + gimple_omp_body (gs)); + else + { + if (gimple_omp_scan_clauses (gs)) + { + pp_string (buffer, "#pragma omp scan"); + dump_omp_clauses (buffer, gimple_omp_scan_clauses (gs), spc, flags); + } + if (!gimple_seq_empty_p (gimple_omp_body (gs))) + { + newline_and_indent (buffer, spc + 2); + pp_left_brace (buffer); + pp_newline (buffer); + dump_gimple_seq (buffer, gimple_omp_body (gs), spc + 4, flags); + newline_and_indent (buffer, spc + 2); + pp_right_brace (buffer); + } + } +} + /* Dump a GIMPLE_OMP_RETURN tuple on the pretty_printer BUFFER. */ static void @@ -2652,6 +2677,11 @@ pp_gimple_stmt_1 (pretty_printer *buffer, gimple *gs, int spc, flags); break; + case GIMPLE_OMP_SCAN: + dump_gimple_omp_scan (buffer, as_a <gomp_scan *> (gs), spc, + flags); + break; + case GIMPLE_OMP_CRITICAL: dump_gimple_omp_critical (buffer, as_a <gomp_critical *> (gs), spc, flags); |