* Clean up printer printers [5/n]
@ 2013-08-05 7:30 Gabriel Dos Reis
0 siblings, 0 replies; only message in thread
From: Gabriel Dos Reis @ 2013-08-05 7:30 UTC (permalink / raw)
To: gcc-patches
This patch stops the gimple printer from using global pretty printers.
Applied to trunk.
-- Gaby
2013-08-05 Gabriel Dos Reis <gdr@integrable-solutions.net>
* gimple-pretty-print.c (buffer): Remove.
(initialized): Likewise.
(maybe_init_pretty_print): Likewise.
(print_gimple_stmt): Do not call it. Use non-static local
pretty_printer variable.
(print_gimple_expr): Likewise.
(print_gimple_seq): Likewise.
(gimple_dump_bb): Likewise.
Index: gimple-pretty-print.c
===================================================================
--- gimple-pretty-print.c (revision 201481)
+++ gimple-pretty-print.c (working copy)
@@ -36,9 +36,6 @@
#define INDENT(SPACE) \
do { int i; for (i = 0; i < SPACE; i++) pp_space (buffer); } while (0)
-static pretty_printer buffer;
-static bool initialized = false;
-
#define GIMPLE_NIY do_niy (buffer,gs)
/* Try to print on BUFFER a default message for the unrecognized
@@ -52,22 +49,6 @@
}
-/* Initialize the pretty printer on FILE if needed. */
-
-static void
-maybe_init_pretty_print (FILE *file)
-{
- if (!initialized)
- {
- pp_construct (&buffer, NULL, 0);
- pp_needs_newline (&buffer) = true;
- initialized = true;
- }
-
- buffer.buffer->stream = file;
-}
-
-
/* Emit a newline and SPC indentation spaces to BUFFER. */
static void
@@ -93,7 +74,10 @@
void
print_gimple_stmt (FILE *file, gimple g, int spc, int flags)
{
- maybe_init_pretty_print (file);
+ pretty_printer buffer;
+ pp_construct (&buffer, NULL, 0);
+ pp_needs_newline (&buffer) = true;
+ buffer.buffer->stream = file;
pp_gimple_stmt_1 (&buffer, g, spc, flags);
pp_newline_and_flush (&buffer);
}
@@ -122,7 +106,10 @@
print_gimple_expr (FILE *file, gimple g, int spc, int flags)
{
flags |= TDF_RHS_ONLY;
- maybe_init_pretty_print (file);
+ pretty_printer buffer;
+ pp_construct (&buffer, NULL, 0);
+ pp_needs_newline (&buffer) = true;
+ buffer.buffer->stream = file;
pp_gimple_stmt_1 (&buffer, g, spc, flags);
pp_flush (&buffer);
}
@@ -155,7 +142,10 @@
void
print_gimple_seq (FILE *file, gimple_seq seq, int spc, int flags)
{
- maybe_init_pretty_print (file);
+ pretty_printer buffer;
+ pp_construct (&buffer, NULL, 0);
+ pp_needs_newline (&buffer) = true;
+ buffer.buffer->stream = file;
dump_gimple_seq (&buffer, seq, spc, flags);
pp_newline_and_flush (&buffer);
}
@@ -2279,7 +2269,10 @@
dump_gimple_bb_header (file, bb, indent, flags);
if (bb->index >= NUM_FIXED_BLOCKS)
{
- maybe_init_pretty_print (file);
+ pretty_printer buffer;
+ pp_construct (&buffer, NULL, 0);
+ pp_needs_newline (&buffer) = true;
+ buffer.buffer->stream = file;
gimple_dump_bb_buff (&buffer, bb, indent, flags);
}
dump_gimple_bb_footer (file, bb, indent, flags);
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2013-08-05 7:30 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-08-05 7:30 Clean up printer printers [5/n] Gabriel Dos Reis
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).