summaryrefslogtreecommitdiff
path: root/gcc/pretty-print.h
diff options
context:
space:
mode:
authorGabriel Dos Reis <gdr@integrable-solutions.net>2013-08-22 10:14:46 +0000
committerGabriel Dos Reis <gdr@gcc.gnu.org>2013-08-22 10:14:46 +0000
commitda6ca2b5ee8cf03215697da17fd7f1a4f21bf2ba (patch)
tree022ef428c3c313c44d9026f48348fe881e59ba87 /gcc/pretty-print.h
parent0e1474e5a6b808f10e251e2e1f3519f9f291d093 (diff)
downloadgcc-da6ca2b5ee8cf03215697da17fd7f1a4f21bf2ba.tar.gz
pretty-print.h (output_buffer::output_buffer): Declare.
* pretty-print.h (output_buffer::output_buffer): Declare. (pretty_printer::pretty_printer): Likewise. (pp_construct): Remove. * pretty-print.c (output_buffer::output_buffer): Define. (pretty_printer::pretty_printer): Rename from pp_construct. Simplify. * gimple-pretty-print.c (print_gimple_stmt): Do not call pp_construct. (print_gimple_expr): Likewise. (print_gimple_seq): Likewise. (gimple_dump_bb): Likewise. * sched-vis.c (dump_value_slim): Likewise. (dump_insn_slim): Likewise. (dump_rtl_slim): Likewise. (str_pattern_slim): Likewise. * tree-mudflap.c (mf_varname_tree): Likewise. * graph.c (print_graph_cfg): Likewise. (start_graph_dump): Likewise. * tree-pretty-print.c (maybe_init_pretty_print): Likewise. Use placement-new. * diagnostic.c (diagnostic_initialize): Simplify early diagnostic pretty printer initialization. * coretypes.h (diagnostic_context): Remove superflous type alias declaration. (pretty_printer): Likewise. Declare directly as a class. (pretty_print_info): Remove declaration as class. * asan.c (asan_emit_stack_protection): Remove call to pp_construct and pp_clear_output_area. (asan_add_global): Likewise. c/ * c-objc-common.c (c_initialize_diagnostics): Simplify C pretty printer initialization. c-family/ * c-pretty-print.h (pp_c_pretty_printer_init): Remove. (c_pretty_printer::c_pretty_printer): Declare. * c-pretty-print.c (pretty_printer::c_pretty_printer): Rename from c_pretty_printer_init. Adjust. (print_c_tree): Do not call c_pretty_printer_init. * c-ada-spec.c (dump_ads): Remove call to pp_construct. cp/ * error.c (init_error): Remove calls to pp_construct and pp_cxx_pretty_printer_init. Initialize cxx_pp with placement-new. * cxx-pretty-print.h (cxx_pretty_printer::cxx_pretty_printer): Declare. (cxx_pretty_printer_init): Remove. * cxx-pretty-print.c (cxx_pretty_printer::cxx_pretty_printer): Rename from cxx_pretty_printer_init. Adjust. * cp-objcp-common.c (cxx_initialize_diagnostics): Simplify initialization of C++ diagnostics pretty printer. From-SVN: r201918
Diffstat (limited to 'gcc/pretty-print.h')
-rw-r--r--gcc/pretty-print.h9
1 files changed, 7 insertions, 2 deletions
diff --git a/gcc/pretty-print.h b/gcc/pretty-print.h
index 95577063da5..4c47e2b1a25 100644
--- a/gcc/pretty-print.h
+++ b/gcc/pretty-print.h
@@ -73,6 +73,8 @@ struct chunk_info
whose fields should not be accessed directly by clients. */
struct output_buffer
{
+ output_buffer ();
+
/* Obstack where the text is built up. */
struct obstack formatted_obstack;
@@ -157,8 +159,12 @@ typedef bool (*printer_fn) (pretty_printer *, text_info *, const char *,
/* The data structure that contains the bare minimum required to do
proper pretty-printing. Clients may derived from this structure
and add additional fields they need. */
-struct pretty_print_info
+struct pretty_printer
{
+ // Default construct a pretty printer with specified prefix
+ // and a maximum line length cut off limit.
+ explicit pretty_printer (const char* = NULL, int = 0);
+
/* Where we print external representation of ENTITY. */
output_buffer *buffer;
@@ -283,7 +289,6 @@ pp_get_prefix (const pretty_printer *pp) { return pp->prefix; }
#define pp_buffer(PP) (PP)->buffer
-extern void pp_construct (pretty_printer *, const char *, int);
extern void pp_set_line_maximum_length (pretty_printer *, int);
extern void pp_set_prefix (pretty_printer *, const char *);
extern void pp_destroy_prefix (pretty_printer *);