summaryrefslogtreecommitdiff
path: root/gcc/c-pretty-print.c
diff options
context:
space:
mode:
authorGabriel Dos Reis <gdr@integrable-solutions.net>2003-08-05 19:23:14 +0000
committerGabriel Dos Reis <gdr@gcc.gnu.org>2003-08-05 19:23:14 +0000
commite1a4dd13eb1eaebd0f7722839a3fe0ff85659ba1 (patch)
treec9868a248f403aa9b1d76b6b3cc12ee64a26d1b1 /gcc/c-pretty-print.c
parent90281aecd9a65d20035a9735adb2e9b7474f6cb3 (diff)
downloadgcc-e1a4dd13eb1eaebd0f7722839a3fe0ff85659ba1.tar.gz
pretty-print.h (pp_set_line_maximum_length): Make macro.
* pretty-print.h (pp_set_line_maximum_length): Make macro. (pp_set_prefix): Likewise. (pp_destroy_prefix): Likewise. (pp_remaining_character_count_for_line): Likewise. (pp_clear_output_area): Likewise. (pp_formatted_text): Likewise. (pp_last_position_in_text): Likewise. (pp_emit_prefix): Likewise. (pp_append_text): Likewise. (pp_flush): Likewise. (pp_format_text): Likewise. (pp_format_verbatim): Likewise. (pp_tree_identifier): Tidy. * pretty-print.c (pp_base_format_text): Rename from pp_format_text. (pp_base_format_verbatim): Rename from pp_format_verbatim. (pp_base_flush): Rename from pp_flush. (pp_base_set_line_maximum_length): Rename from pp_set_line_maximum_length. (pp_base_clear_output_area): Rename from pp_clear_output_area. (pp_base_set_prefix): Rename from pp_set_prefix. (pp_base_destroy_prefix): Rename from pp_destroy_prefix. (pp_base_emit_prefix): Rename from pp_emit_prefix. (pp_base_append_text): Rename from pp_append_text. (pp_base_formatted_text): Rename from pp_formatted_text. (pp_base_last_position_in_text): Rename from pp_last_position_in_text. (pp_base_remaining_character_count_for_line): Rename from pp_remaining_character_count_for_line. * diagnostic.h (diagnostic_format_decoder): Tidy. (diagnostic_flush_buffer): Likewise. * c-pretty-print.h: (pp_c_string_literal): Declare. (pp_c_real_literal): Likewise. (pp_c_integer_literal): Likewise. * c-pretty-print.c (pp_c_char): Use pp_string in lieu of pp_identifier. (pp_c_character_literal): Tidy. (pp_c_string_literal): Make public. (pp_c_bool_literal): Likewise. (pp_c_integer_literal): Likewise. (pp_c_real_literal): Likewise. * Makefile.in (C_PRETTY_PRINT_H): New variable. (c-pretty-print.o): Update dependence. cp/ * cxx-pretty-print.h: New file. * cxx-pretty-print.c: Likewise. * error.c (scratch_pretty_printer): Change type. (init_error): Tidy. (dump_aggr_type): Likewise. (dump_global_iord): Likewise. (dump_expr): Likewise. (dump_char): Remove. * cp-lang.c (LANG_HOOKS_INITIALIZE_DIAGNOSTITCS): Define. (cxx_initialize_diagnostics): New function. * Make-lang.in (CXX_OBJS): Add cp/cxx-pretty-print.o (CXX_PRETTY_PRINT_H): New variable. (cp/cxx-pretty-print.o): New rule. (cp/cp-lang.o): Update dependence. (cp/error.o): Likewise. From-SVN: r70182
Diffstat (limited to 'gcc/c-pretty-print.c')
-rw-r--r--gcc/c-pretty-print.c42
1 files changed, 21 insertions, 21 deletions
diff --git a/gcc/c-pretty-print.c b/gcc/c-pretty-print.c
index 295f60eefdd..58a66e01c99 100644
--- a/gcc/c-pretty-print.c
+++ b/gcc/c-pretty-print.c
@@ -39,9 +39,6 @@ static void pp_c_char (c_pretty_printer, int);
static void pp_c_character_literal (c_pretty_printer, tree);
static void pp_c_bool_literal (c_pretty_printer, tree);
static bool pp_c_enumerator (c_pretty_printer, tree);
-static void pp_c_integer_literal (c_pretty_printer, tree);
-static void pp_c_real_literal (c_pretty_printer, tree);
-static void pp_c_string_literal (c_pretty_printer, tree);
static void pp_c_primary_expression (c_pretty_printer, tree);
@@ -306,34 +303,34 @@ pp_c_char (c_pretty_printer ppi, int c)
switch (c)
{
case TARGET_NEWLINE:
- pp_identifier (ppi, "\\n");
+ pp_string (ppi, "\\n");
break;
case TARGET_TAB:
- pp_identifier (ppi, "\\t");
+ pp_string (ppi, "\\t");
break;
case TARGET_VT:
- pp_identifier (ppi, "\\v");
+ pp_string (ppi, "\\v");
break;
case TARGET_BS:
- pp_identifier (ppi, "\\b");
+ pp_string (ppi, "\\b");
break;
case TARGET_CR:
- pp_identifier (ppi, "\\r");
+ pp_string (ppi, "\\r");
break;
case TARGET_FF:
- pp_identifier (ppi, "\\f");
+ pp_string (ppi, "\\f");
break;
case TARGET_BELL:
- pp_identifier (ppi, "\\a");
+ pp_string (ppi, "\\a");
break;
case '\\':
- pp_identifier (ppi, "\\\\");
+ pp_string (ppi, "\\\\");
break;
case '\'':
- pp_identifier (ppi, "\\'");
+ pp_string (ppi, "\\'");
break;
case '\"':
- pp_identifier (ppi, "\\\"");
+ pp_string (ppi, "\\\"");
break;
default:
if (ISPRINT (c))
@@ -345,7 +342,7 @@ pp_c_char (c_pretty_printer ppi, int c)
}
/* Print out a STRING literal. */
-static inline void
+void
pp_c_string_literal (c_pretty_printer ppi, tree s)
{
const char *p = TREE_STRING_POINTER (s);
@@ -361,13 +358,17 @@ pp_c_string_literal (c_pretty_printer ppi, tree s)
static inline void
pp_c_character_literal (c_pretty_printer ppi, tree c)
{
+ tree type = TREE_TYPE (c);
pp_quote (ppi);
- pp_c_char (ppi, tree_low_cst (c, 0));
+ if (host_integerp (c, TREE_UNSIGNED (type)))
+ pp_c_char (ppi, tree_low_cst (c, TREE_UNSIGNED (type)));
+ else
+ pp_scalar (ppi, "\\x%x", (unsigned) TREE_INT_CST_LOW (c));
pp_quote (ppi);
}
/* Print out a BOOLEAN literal. */
-static inline void
+void
pp_c_bool_literal (c_pretty_printer ppi, tree b)
{
if (b == boolean_false_node || integer_zerop (b))
@@ -423,7 +424,7 @@ pp_c_enumerator (c_pretty_printer ppi, tree e)
}
/* Print out an INTEGER constant value. */
-static void
+void
pp_c_integer_literal (c_pretty_printer ppi, tree i)
{
tree type = TREE_TYPE (i);
@@ -449,20 +450,19 @@ pp_c_integer_literal (c_pretty_printer ppi, tree i)
sprintf (pp_buffer (ppi)->digit_buffer,
HOST_WIDE_INT_PRINT_DOUBLE_HEX,
TREE_INT_CST_HIGH (i), TREE_INT_CST_LOW (i));
- pp_identifier (ppi, pp_buffer (ppi)->digit_buffer);
-
+ pp_string (ppi, pp_buffer (ppi)->digit_buffer);
}
}
}
}
/* Print out a REAL value. */
-static inline void
+void
pp_c_real_literal (c_pretty_printer ppi, tree r)
{
real_to_decimal (pp_buffer (ppi)->digit_buffer, &TREE_REAL_CST (r),
sizeof (pp_buffer (ppi)->digit_buffer), 0, 1);
- pp_identifier (ppi, pp_buffer(ppi)->digit_buffer);
+ pp_string (ppi, pp_buffer(ppi)->digit_buffer);
}