diff mbox

Clean up printer printers [5/n]

Message ID 871u688uhi.fsf@euclid.axiomatics.org
State New
Headers show

Commit Message

Gabriel Dos Reis Aug. 5, 2013, 7:30 a.m. UTC
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.
diff mbox

Patch

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);