aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorGabriel Dos Reis <gdr@integrable-solutions.net>2013-08-23 10:46:49 +0000
committerGabriel Dos Reis <gdr@gcc.gnu.org>2013-08-23 10:46:49 +0000
commit0fc80001f03a9051772198b99eda479f7bce80e1 (patch)
treea220392ed347512ec6a0763fab4d85bfe02bf2ee /gcc
parent520a5868fa96c928b8004702440253ac02f64b9d (diff)
downloadgcc-0fc80001f03a9051772198b99eda479f7bce80e1.zip
gcc-0fc80001f03a9051772198b99eda479f7bce80e1.tar.gz
gcc-0fc80001f03a9051772198b99eda479f7bce80e1.tar.bz2
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
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog10
-rw-r--r--gcc/pretty-print.c31
-rw-r--r--gcc/pretty-print.h21
3 files changed, 44 insertions, 18 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index a6624ed..29a30ee 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -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
diff --git a/gcc/pretty-print.c b/gcc/pretty-print.c
index 2d25410..a465454 100644
--- a/gcc/pretty-print.c
+++ b/gcc/pretty-print.c
@@ -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
diff --git a/gcc/pretty-print.h b/gcc/pretty-print.h
index 4c47e2b..9b9b2cf 100644
--- a/gcc/pretty-print.h
+++ b/gcc/pretty-print.h
@@ -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. */