+2013-08-23 Gabriel Dos Reis <gdr@integrable-solutions.net>
+
+ * pretty-print.h (pp_newline_and_flush): Declare. Remove macro
+ definition.
+ (pp_newline_and_indent): Likewise.
+ (pp_separate_with): Likewise.
+ * pretty-print.c (pp_newline_and_flush): Define.
+ (pp_newline_and_indent): Likewise.
+ (pp_separate_with): Likewise.
+
2013-08-23 Jakub Jelinek <jakub@redhat.com>
PR target/58218
pp->padding = pp_none;
}
}
+
+// Add a newline to the pretty printer PP and flush formatted text.
+
+void
+pp_newline_and_flush (pretty_printer *pp)
+{
+ pp_newline (pp);
+ pp_flush (pp);
+ pp_needs_newline (pp) = false;
+}
+
+// Add a newline to the pretty printer PP, followed by indentation.
+
+void
+pp_newline_and_indent (pretty_printer *pp, int n)
+{
+ pp_indentation (pp) += n;
+ pp_newline (pp);
+ pp_indent (pp);
+ pp_needs_newline (pp) = false;
+}
+
+// Add separator C, followed by a single whitespace.
+
+void
+pp_separate_with (pretty_printer *pp, char c)
+{
+ pp_character (pp, c);
+ pp_space (pp);
+}
+
\f
/* The string starting at P has LEN (at least 1) bytes left; if they
start with a valid UTF-8 sequence, return the length of that
#define pp_backquote(PP) pp_character (PP, '`')
#define pp_doublequote(PP) pp_character (PP, '"')
#define pp_underscore(PP) pp_character (PP, '_')
-#define pp_newline_and_flush(PP) \
- do { \
- pp_newline (PP); \
- pp_flush (PP); \
- pp_needs_newline (PP) = false; \
- } while (0)
-#define pp_newline_and_indent(PP, N) \
- do { \
- pp_indentation (PP) += N; \
- pp_newline (PP); \
- pp_indent (PP); \
- pp_needs_newline (PP) = false; \
- } while (0)
#define pp_maybe_newline_and_indent(PP, N) \
if (pp_needs_newline (PP)) pp_newline_and_indent (PP, N)
-#define pp_separate_with(PP, C) \
- do { \
- pp_character (PP, C); \
- pp_space (PP); \
- } while (0)
#define pp_scalar(PP, FORMAT, SCALAR) \
do \
{ \
extern const char *pp_last_position_in_text (const pretty_printer *);
extern void pp_emit_prefix (pretty_printer *);
extern void pp_append_text (pretty_printer *, const char *, const char *);
+extern void pp_newline_and_flush (pretty_printer *);
+extern void pp_newline_and_indent (pretty_printer *, int);
+extern void pp_separate_with (pretty_printer *, char);
/* If we haven't already defined a front-end-specific diagnostics
style, use the generic one. */