pretty-print.h (pp_newline_and_flush): Declare.

* 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.

From-SVN: r201940
This commit is contained in:
Gabriel Dos Reis 2013-08-23 10:46:49 +00:00 committed by Gabriel Dos Reis
parent 520a5868fa
commit 0fc80001f0
3 changed files with 44 additions and 18 deletions

View File

@ -1,3 +1,13 @@
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

View File

@ -902,6 +902,37 @@ pp_maybe_space (pretty_printer *pp)
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);
}
/* 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

View File

@ -246,26 +246,8 @@ pp_get_prefix (const pretty_printer *pp) { return pp->prefix; }
#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 \
{ \
@ -298,6 +280,9 @@ extern const char *pp_formatted_text (pretty_printer *);
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. */