This patch replaces uses of pp_string on operators and punctuators with specialized pretty printing functions.
Tested on an x86_64-suse-linux. Applied to trunk. -- Gaby 2013-08-03 Gabriel Dos Reis <g...@integrable-solutions.net> * pretty-print.h (pp_bar_bar): New. (pp_ampersand_ampersand): Likewise. (pp_less_equal): Likewise. (pp_greater_equal): Likewise. * gimple-pretty-print.c (dump_ternary_rhs): Use specialized pretty printer functions instead of pp_string or operators and punctuators. (dump_gimple_call): Likewise. (dump_gimple_omp_for): Likewise. (dump_gimple_transaction): Likewise. (dump_gimple_phi): Likewise. (pp_gimple_stmt_1): Likewise. * sched-vis.c (print_insn): Likewise. * tree-mudflap.c (mf_varname_tree): Likewise. * tree-pretty-print.c (dump_block_node): Likewise. (dump_generic_node): Likewise. c-family/ * c-ada-spec.c (pp_ada_tree_identifier): Use specialized pretty printer functions instead of pp_string or operators and punctuators. (dump_generic_ada_node): Likewise. * c-pretty-print.c (pp_c_type_specifier): Likewise. (pp_c_relational_expression): Likewise. (pp_c_logical_or_expression): Likewise. cp/ * error.c (dump_type_prefix): Use specialized pretty printer functions instead of pp_string or operators and punctuators. (dump_decl): Likewise. (dump_expr): Likewise. Index: c-family/c-ada-spec.c =================================================================== --- c-family/c-ada-spec.c (revision 201473) +++ c-family/c-ada-spec.c (working copy) @@ -1266,7 +1266,7 @@ { pp_string (buffer, "Class_"); pp_string (buffer, s); - pp_string (buffer, "."); + pp_dot (buffer); } } @@ -1626,7 +1626,7 @@ if (xloc.file) { pp_string (buffer, xloc.file); - pp_string (buffer, ":"); + pp_colon (buffer); pp_decimal_int (buffer, xloc.line); } } @@ -1886,14 +1886,14 @@ bool first = true; spc += INDENT_INCR; newline_and_indent (buffer, spc - 1); - pp_string (buffer, "("); + pp_left_paren (buffer); for (; value; value = TREE_CHAIN (value)) { if (first) first = false; else { - pp_string (buffer, ","); + pp_comma (buffer); newline_and_indent (buffer, spc); } @@ -1907,7 +1907,7 @@ dump_generic_ada_node (buffer, DECL_NAME (type) ? type : TYPE_NAME (node), type, cpp_check, spc, 0, true); - pp_string (buffer, ")"); + pp_right_paren (buffer); } else { @@ -2032,7 +2032,7 @@ pp_string (buffer, "pragma Convention (C, "); dump_generic_ada_node (buffer, type, 0, cpp_check, spc, false, true); - pp_string (buffer, ")"); + pp_right_paren (buffer); } } else Index: c-family/c-pretty-print.c =================================================================== --- c-family/c-pretty-print.c (revision 201473) +++ c-family/c-pretty-print.c (working copy) @@ -370,7 +370,7 @@ pp_c_type_specifier (pp, t); if (TYPE_PRECISION (t) != prec) { - pp_string (pp, ":"); + pp_colon (pp); pp_decimal_int (pp, prec); } } @@ -393,7 +393,7 @@ gcc_unreachable (); } pp_decimal_int (pp, prec); - pp_string (pp, ">"); + pp_greater (pp); } } break; @@ -1920,9 +1920,9 @@ else if (code == GT_EXPR) pp_greater (pp); else if (code == LE_EXPR) - pp_string (pp, "<="); + pp_less_equal (pp); else if (code == GE_EXPR) - pp_string (pp, ">="); + pp_greater_equal (pp); pp_c_whitespace (pp); pp_c_shift_expression (pp, TREE_OPERAND (e, 1)); break; @@ -2032,7 +2032,7 @@ { pp_c_logical_and_expression (pp, TREE_OPERAND (e, 0)); pp_c_whitespace (pp); - pp_string (pp, "&&"); + pp_ampersand_ampersand (pp); pp_c_whitespace (pp); pp_c_inclusive_or_expression (pp, TREE_OPERAND (e, 1)); } @@ -2052,7 +2052,7 @@ { pp_c_logical_or_expression (pp, TREE_OPERAND (e, 0)); pp_c_whitespace (pp); - pp_string (pp, "||"); + pp_bar_bar (pp); pp_c_whitespace (pp); pp_c_logical_and_expression (pp, TREE_OPERAND (e, 1)); } Index: cp/error.c =================================================================== --- cp/error.c (revision 201473) +++ cp/error.c (working copy) @@ -714,7 +714,7 @@ else if (TREE_CODE (t) == REFERENCE_TYPE) { if (TYPE_REF_IS_RVALUE (t)) - pp_string (cxx_pp, "&&"); + pp_ampersand_ampersand (cxx_pp); else pp_ampersand (cxx_pp); } @@ -1060,7 +1060,7 @@ case SCOPE_REF: dump_type (TREE_OPERAND (t, 0), flags); - pp_string (cxx_pp, "::"); + pp_colon_colon (cxx_pp); dump_decl (TREE_OPERAND (t, 1), TFF_UNQUALIFIED_NAME); break; @@ -1075,9 +1075,9 @@ dump_decl (ARRAY_NOTATION_ARRAY (t), flags | TFF_EXPR_IN_PARENS); pp_cxx_left_bracket (cxx_pp); dump_decl (ARRAY_NOTATION_START (t), flags | TFF_EXPR_IN_PARENS); - pp_string (cxx_pp, ":"); + pp_colon (cxx_pp); dump_decl (ARRAY_NOTATION_LENGTH (t), flags | TFF_EXPR_IN_PARENS); - pp_string (cxx_pp, ":"); + pp_colon (cxx_pp); dump_decl (ARRAY_NOTATION_STRIDE (t), flags | TFF_EXPR_IN_PARENS); pp_cxx_right_bracket (cxx_pp); break; @@ -2072,9 +2072,9 @@ dump_expr (ARRAY_NOTATION_ARRAY (t), flags | TFF_EXPR_IN_PARENS); pp_cxx_left_bracket (cxx_pp); dump_expr (ARRAY_NOTATION_START (t), flags | TFF_EXPR_IN_PARENS); - pp_string (cxx_pp, ":"); + pp_colon (cxx_pp); dump_expr (ARRAY_NOTATION_LENGTH (t), flags | TFF_EXPR_IN_PARENS); - pp_string (cxx_pp, ":"); + pp_colon (cxx_pp); dump_expr (ARRAY_NOTATION_STRIDE (t), flags | TFF_EXPR_IN_PARENS); pp_cxx_right_bracket (cxx_pp); break; Index: gimple-pretty-print.c =================================================================== --- gimple-pretty-print.c (revision 201473) +++ gimple-pretty-print.c (working copy) @@ -436,7 +436,7 @@ dump_generic_node (buffer, gimple_assign_rhs2 (gs), spc, flags, false); pp_string (buffer, ", "); dump_generic_node (buffer, gimple_assign_rhs3 (gs), spc, flags, false); - pp_string (buffer, ">"); + pp_greater (buffer); break; case VEC_PERM_EXPR: @@ -446,7 +446,7 @@ dump_generic_node (buffer, gimple_assign_rhs2 (gs), spc, flags, false); pp_string (buffer, ", "); dump_generic_node (buffer, gimple_assign_rhs3 (gs), spc, flags, false); - pp_string (buffer, ">"); + pp_greater (buffer); break; case REALIGN_LOAD_EXPR: @@ -456,7 +456,7 @@ dump_generic_node (buffer, gimple_assign_rhs2 (gs), spc, flags, false); pp_string (buffer, ", "); dump_generic_node (buffer, gimple_assign_rhs3 (gs), spc, flags, false); - pp_string (buffer, ">"); + pp_greater (buffer); break; case COND_EXPR: @@ -474,7 +474,7 @@ dump_generic_node (buffer, gimple_assign_rhs2 (gs), spc, flags, false); pp_string (buffer, ", "); dump_generic_node (buffer, gimple_assign_rhs3 (gs), spc, flags, false); - pp_string (buffer, ">"); + pp_greater (buffer); break; default: @@ -757,7 +757,7 @@ if (props & PR_READONLY) pp_string (buffer, "readOnly "); - pp_string (buffer, "]"); + pp_right_bracket (buffer); } } @@ -1145,10 +1145,10 @@ pp_greater (buffer); break; case LE_EXPR: - pp_string (buffer, "<="); + pp_less_equal (buffer); break; case GE_EXPR: - pp_string (buffer, ">="); + pp_greater_equal (buffer); break; default: gcc_unreachable (); @@ -1420,7 +1420,7 @@ } if (subcode) pp_printf (buffer, "0x%x ", subcode); - pp_string (buffer, "]"); + pp_right_bracket (buffer); } } @@ -1641,7 +1641,7 @@ pp_string (buffer, " : "); } pp_decimal_int (buffer, xloc.line); - pp_string (buffer, ":"); + pp_colon (buffer); pp_decimal_int (buffer, xloc.column); pp_string (buffer, "] "); } @@ -1881,7 +1881,7 @@ pp_string (buffer, " : "); } pp_decimal_int (buffer, xloc.line); - pp_string (buffer, ":"); + pp_colon (buffer); pp_decimal_int (buffer, xloc.column); pp_string (buffer, "] "); } Index: pretty-print.h =================================================================== --- pretty-print.h (revision 201473) +++ pretty-print.h (working copy) @@ -246,10 +246,14 @@ #define pp_equal(PP) pp_character (PP, '=') #define pp_question(PP) pp_character (PP, '?') #define pp_bar(PP) pp_character (PP, '|') +#define pp_bar_bar(PP) pp_string (PP, "||") #define pp_carret(PP) pp_character (PP, '^') #define pp_ampersand(PP) pp_character (PP, '&') +#define pp_ampersand_ampersand(PP) pp_string (PP, "&&") #define pp_less(PP) pp_character (PP, '<') +#define pp_less_equal(PP) pp_string (PP, "<=") #define pp_greater(PP) pp_character (PP, '>') +#define pp_greater_equal(PP) pp_string (PP, ">=") #define pp_plus(PP) pp_character (PP, '+') #define pp_minus(PP) pp_character (PP, '-') #define pp_star(PP) pp_character (PP, '*') Index: sched-vis.c =================================================================== --- sched-vis.c (revision 201473) +++ sched-vis.c (working copy) @@ -690,7 +690,7 @@ case JUMP_TABLE_DATA: pp_string (pp, "jump_table_data{\n"); print_pattern (pp, PATTERN (x), verbose); - pp_string (pp, "}"); + pp_right_brace (pp); break; case BARRIER: pp_string (pp, "barrier"); Index: tree-mudflap.c =================================================================== --- tree-mudflap.c (revision 201473) +++ tree-mudflap.c (working copy) @@ -138,12 +138,12 @@ if (sourceline != 0) { - pp_string (buf, ":"); + pp_colon (buf); pp_decimal_int (buf, sourceline); if (sourcecolumn != 0) { - pp_string (buf, ":"); + pp_colon (buf); pp_decimal_int (buf, sourcecolumn); } } @@ -165,7 +165,7 @@ pp_string (buf, ") "); } else - pp_string (buf, " "); + pp_space (buf); /* Add <variable-declaration>, possibly demangled. */ { Index: tree-pretty-print.c =================================================================== --- tree-pretty-print.c (revision 201473) +++ tree-pretty-print.c (working copy) @@ -519,7 +519,7 @@ for (t = BLOCK_SUBBLOCKS (block); t; t = BLOCK_CHAIN (t)) { dump_generic_node (buffer, t, 0, flags | TDF_SLIM, false); - pp_string (buffer, " "); + pp_space (buffer); } newline_and_indent (buffer, spc + 2); } @@ -530,7 +530,7 @@ for (t = BLOCK_CHAIN (block); t; t = BLOCK_CHAIN (t)) { dump_generic_node (buffer, t, 0, flags | TDF_SLIM, false); - pp_string (buffer, " "); + pp_space (buffer); } newline_and_indent (buffer, spc + 2); } @@ -541,7 +541,7 @@ for (t = BLOCK_VARS (block); t; t = TREE_CHAIN (t)) { dump_generic_node (buffer, t, 0, flags, false); - pp_string (buffer, " "); + pp_space (buffer); } newline_and_indent (buffer, spc + 2); } @@ -555,7 +555,7 @@ FOR_EACH_VEC_ELT (*nlv, i, t) { dump_generic_node (buffer, t, 0, flags, false); - pp_string (buffer, " "); + pp_space (buffer); } newline_and_indent (buffer, spc + 2); } @@ -582,7 +582,7 @@ for (t = BLOCK_FRAGMENT_CHAIN (block); t; t = BLOCK_FRAGMENT_CHAIN (t)) { dump_generic_node (buffer, t, 0, flags | TDF_SLIM, false); - pp_string (buffer, " "); + pp_space (buffer); } newline_and_indent (buffer, spc + 2); } @@ -757,7 +757,7 @@ ? "<unnamed-unsigned:" : "<unnamed-signed:")); pp_decimal_int (buffer, TYPE_PRECISION (node)); - pp_string (buffer, ">"); + pp_greater (buffer); } } else if (TREE_CODE (node) == COMPLEX_TYPE) @@ -769,14 +769,14 @@ { pp_string (buffer, "<float:"); pp_decimal_int (buffer, TYPE_PRECISION (node)); - pp_string (buffer, ">"); + pp_greater (buffer); } else if (TREE_CODE (node) == FIXED_POINT_TYPE) { pp_string (buffer, "<fixed-point-"); pp_string (buffer, TYPE_SATURATING (node) ? "sat:" : "nonsat:"); pp_decimal_int (buffer, TYPE_PRECISION (node)); - pp_string (buffer, ">"); + pp_greater (buffer); } else if (TREE_CODE (node) == VOID_TYPE) pp_string (buffer, "void"); @@ -832,7 +832,7 @@ { pp_string (buffer, " <address-space-"); pp_decimal_int (buffer, TYPE_ADDR_SPACE (node)); - pp_string (buffer, ">"); + pp_greater (buffer); } if (TYPE_REF_CAN_ALIAS_ALL (node)) @@ -868,7 +868,7 @@ { if (TREE_CODE (TREE_OPERAND (node, 0)) != ADDR_EXPR) { - pp_string (buffer, "*"); + pp_star (buffer); dump_generic_node (buffer, TREE_OPERAND (node, 0), spc, flags, false); } @@ -882,11 +882,11 @@ tree ptype; pp_string (buffer, "MEM["); - pp_string (buffer, "("); + pp_left_paren (buffer); ptype = TYPE_MAIN_VARIANT (TREE_TYPE (TREE_OPERAND (node, 1))); dump_generic_node (buffer, ptype, spc, flags | TDF_SLIM, false); - pp_string (buffer, ")"); + pp_right_paren (buffer); dump_generic_node (buffer, TREE_OPERAND (node, 0), spc, flags, false); if (!integer_zerop (TREE_OPERAND (node, 1))) @@ -895,7 +895,7 @@ dump_generic_node (buffer, TREE_OPERAND (node, 1), spc, flags, false); } - pp_string (buffer, "]"); + pp_right_bracket (buffer); } break; } @@ -954,7 +954,7 @@ pp_string (buffer, "offset: "); dump_generic_node (buffer, tmp, spc, flags, false); } - pp_string (buffer, "]"); + pp_right_bracket (buffer); } break; @@ -1102,7 +1102,7 @@ dump_generic_node (buffer, TREE_REALPART (node), spc, flags, false); pp_string (buffer, ", "); dump_generic_node (buffer, TREE_IMAGPART (node), spc, flags, false); - pp_string (buffer, ")"); + pp_right_paren (buffer); break; case STRING_CST: @@ -1137,7 +1137,7 @@ flags); else pp_string (buffer, "<null method basetype>"); - pp_string (buffer, "::"); + pp_colon_colon (buffer); } if (TYPE_NAME (node) && DECL_NAME (TYPE_NAME (node))) dump_decl_name (buffer, TYPE_NAME (node), flags); @@ -1263,7 +1263,7 @@ dump_generic_node (buffer, TREE_OPERAND (node, 1), spc, flags, false); pp_string (buffer, ", "); dump_generic_node (buffer, TREE_OPERAND (node, 2), spc, flags, false); - pp_string (buffer, ">"); + pp_greater (buffer); break; case ARRAY_REF: @@ -1801,64 +1801,64 @@ dump_generic_node (buffer, TREE_OPERAND (node, 0), spc, flags, false); pp_string (buffer, ", "); dump_generic_node (buffer, TREE_OPERAND (node, 1), spc, flags, false); - pp_string (buffer, ">"); + pp_greater (buffer); break; case CONJ_EXPR: pp_string (buffer, "CONJ_EXPR <"); dump_generic_node (buffer, TREE_OPERAND (node, 0), spc, flags, false); - pp_string (buffer, ">"); + pp_greater (buffer); break; case REALPART_EXPR: pp_string (buffer, "REALPART_EXPR <"); dump_generic_node (buffer, TREE_OPERAND (node, 0), spc, flags, false); - pp_string (buffer, ">"); + pp_greater (buffer); break; case IMAGPART_EXPR: pp_string (buffer, "IMAGPART_EXPR <"); dump_generic_node (buffer, TREE_OPERAND (node, 0), spc, flags, false); - pp_string (buffer, ">"); + pp_greater (buffer); break; case VA_ARG_EXPR: pp_string (buffer, "VA_ARG_EXPR <"); dump_generic_node (buffer, TREE_OPERAND (node, 0), spc, flags, false); - pp_string (buffer, ">"); + pp_greater (buffer); break; case TRY_FINALLY_EXPR: case TRY_CATCH_EXPR: pp_string (buffer, "try"); newline_and_indent (buffer, spc+2); - pp_string (buffer, "{"); + pp_left_brace (buffer); newline_and_indent (buffer, spc+4); dump_generic_node (buffer, TREE_OPERAND (node, 0), spc+4, flags, true); newline_and_indent (buffer, spc+2); - pp_string (buffer, "}"); + pp_right_brace (buffer); newline_and_indent (buffer, spc); pp_string (buffer, (TREE_CODE (node) == TRY_CATCH_EXPR) ? "catch" : "finally"); newline_and_indent (buffer, spc+2); - pp_string (buffer, "{"); + pp_left_brace (buffer); newline_and_indent (buffer, spc+4); dump_generic_node (buffer, TREE_OPERAND (node, 1), spc+4, flags, true); newline_and_indent (buffer, spc+2); - pp_string (buffer, "}"); + pp_right_brace (buffer); is_expr = false; break; case CATCH_EXPR: pp_string (buffer, "catch ("); dump_generic_node (buffer, CATCH_TYPES (node), spc+2, flags, false); - pp_string (buffer, ")"); + pp_right_paren (buffer); newline_and_indent (buffer, spc+2); - pp_string (buffer, "{"); + pp_left_brace (buffer); newline_and_indent (buffer, spc+4); dump_generic_node (buffer, CATCH_BODY (node), spc+4, flags, true); newline_and_indent (buffer, spc+2); - pp_string (buffer, "}"); + pp_right_brace (buffer); is_expr = false; break; @@ -1867,11 +1867,11 @@ dump_generic_node (buffer, EH_FILTER_TYPES (node), spc+2, flags, false); pp_string (buffer, ")>>>"); newline_and_indent (buffer, spc+2); - pp_string (buffer, "{"); + pp_left_brace (buffer); newline_and_indent (buffer, spc+4); dump_generic_node (buffer, EH_FILTER_FAILURE (node), spc+4, flags, true); newline_and_indent (buffer, spc+2); - pp_string (buffer, "}"); + pp_right_brace (buffer); is_expr = false; break; @@ -2006,7 +2006,7 @@ pp_colon (buffer); dump_generic_node (buffer, ASM_CLOBBERS (node), spc, flags, false); } - pp_string (buffer, ")"); + pp_right_paren (buffer); break; case CASE_LABEL_EXPR: @@ -2041,7 +2041,7 @@ if (SSA_NAME_IDENTIFIER (node)) dump_generic_node (buffer, SSA_NAME_IDENTIFIER (node), spc, flags, false); - pp_string (buffer, "_"); + pp_underscore (buffer); pp_decimal_int (buffer, SSA_NAME_VERSION (node)); if (SSA_NAME_OCCURS_IN_ABNORMAL_PHI (node)) pp_string (buffer, "(ab)"); @@ -2054,7 +2054,7 @@ dump_generic_node (buffer, TREE_OPERAND (node, 0), spc, flags, false); pp_string (buffer, ", "); dump_generic_node (buffer, TREE_OPERAND (node, 1), spc, flags, false); - pp_string (buffer, ">"); + pp_greater (buffer); break; case ASSERT_EXPR: @@ -2062,7 +2062,7 @@ dump_generic_node (buffer, ASSERT_EXPR_VAR (node), spc, flags, false); pp_string (buffer, ", "); dump_generic_node (buffer, ASSERT_EXPR_COND (node), spc, flags, false); - pp_string (buffer, ">"); + pp_greater (buffer); break; case SCEV_KNOWN: @@ -2074,7 +2074,7 @@ break; case POLYNOMIAL_CHREC: - pp_string (buffer, "{"); + pp_left_brace (buffer); dump_generic_node (buffer, CHREC_LEFT (node), spc, flags, false); pp_string (buffer, ", +, "); dump_generic_node (buffer, CHREC_RIGHT (node), spc, flags, false); @@ -2090,7 +2090,7 @@ dump_generic_node (buffer, TREE_OPERAND (node, 1), spc, flags, false); pp_string (buffer, ", "); dump_generic_node (buffer, TREE_OPERAND (node, 2), spc, flags, false); - pp_string (buffer, ">"); + pp_greater (buffer); break; case VEC_COND_EXPR: @@ -2206,7 +2206,7 @@ pp_string (buffer, "; "); dump_generic_node (buffer, TREE_VEC_ELT (OMP_FOR_INCR (node), i), spc, flags, false); - pp_string (buffer, ")"); + pp_right_paren (buffer); } if (OMP_FOR_BODY (node)) { @@ -2935,7 +2935,7 @@ goto again; case COND_EXPR: - pp_string (buffer, "("); + pp_left_paren (buffer); dump_generic_node (buffer, TREE_OPERAND (op0, 0), 0, flags, false); pp_string (buffer, ") ? "); dump_generic_node (buffer, TREE_OPERAND (op0, 1), 0, flags, false);