c-pretty-print.h (c_pretty_printer::translate_string): Declare.
authorGabriel Dos Reis <gdr@integrable-solutions.net>
Sun, 25 Aug 2013 05:51:54 +0000 (05:51 +0000)
committerGabriel Dos Reis <gdr@gcc.gnu.org>
Sun, 25 Aug 2013 05:51:54 +0000 (05:51 +0000)
c-family/
* c-pretty-print.h (c_pretty_printer::translate_string): Declare.
* c-pretty-print.c (M_): Remove.
(c_pretty_printer::translate_string): Define.
(pp_c_type_specifier): Use it.
(pp_c_primary_expression): Likewise.
(pp_c_expression): Likewise.

cp/
* cxx-pretty-print.c (M_): Remove.
(pp_cxx_unqualified_id): Use translate_string instead of M_.
(pp_cxx_canonical_template_parameter): Likewise.

From-SVN: r201974

gcc/c-family/ChangeLog
gcc/c-family/c-pretty-print.c
gcc/c-family/c-pretty-print.h
gcc/cp/ChangeLog
gcc/cp/cxx-pretty-print.c

index c3d9ab7fcaff812f44a1aa9b62b3d08f22ed7e39..cf2dc3f2139fb5d189becde561dec88be93e0284 100644 (file)
@@ -1,3 +1,12 @@
+2013-08-25  Gabriel Dos Reis  <gdr@integrable-solutions.net>
+
+       * c-pretty-print.h (c_pretty_printer::translate_string): Declare.
+       * c-pretty-print.c (M_): Remove.
+       (c_pretty_printer::translate_string): Define.
+       (pp_c_type_specifier): Use it.
+       (pp_c_primary_expression): Likewise.
+       (pp_c_expression): Likewise.
+
 2013-08-24  Gabriel Dos Reis  <gdr@integrable-solutions.net>
 
        * c-pretty-print.h (c_pretty_printer::id_expression): Now a
index a5dc62e07c1eddb2dcad5e2a9ef72b9828e29550..ecc017349252b9b35fea7bdab71cf466f47cef9b 100644 (file)
@@ -29,10 +29,6 @@ along with GCC; see the file COPYING3.  If not see
 #include "tree-iterator.h"
 #include "diagnostic.h"
 
-/* Translate if being used for diagnostics, but not for dump files or
-   __PRETTY_FUNCTION.  */
-#define M_(msgid) (pp_translate_identifiers (pp) ? _(msgid) : (msgid))
-
 /* The pretty-printer code is primarily designed to closely follow
    (GNU) C and C++ grammars.  That is to be contrasted with spaghetti
    codes we used to have in the past.  Following a structured
@@ -341,7 +337,7 @@ pp_c_type_specifier (c_pretty_printer *pp, tree t)
   switch (code)
     {
     case ERROR_MARK:
-      pp_c_ws_string (pp, M_("<type-error>"));
+      pp->translate_string ("<type-error>");
       break;
 
     case IDENTIFIER_NODE:
@@ -379,15 +375,15 @@ pp_c_type_specifier (c_pretty_printer *pp, tree t)
              switch (code)
                {
                case INTEGER_TYPE:
-                 pp_string (pp, (TYPE_UNSIGNED (t)
-                                 ? M_("<unnamed-unsigned:")
-                                 : M_("<unnamed-signed:")));
+                 pp->translate_string (TYPE_UNSIGNED (t)
+                                        ? "<unnamed-unsigned:"
+                                        : "<unnamed-signed:");
                  break;
                case REAL_TYPE:
-                 pp_string (pp, M_("<unnamed-float:"));
+                 pp->translate_string ("<unnamed-float:");
                  break;
                case FIXED_POINT_TYPE:
-                 pp_string (pp, M_("<unnamed-fixed:"));
+                 pp->translate_string ("<unnamed-fixed:");
                  break;
                default:
                  gcc_unreachable ();
@@ -402,7 +398,7 @@ pp_c_type_specifier (c_pretty_printer *pp, tree t)
       if (DECL_NAME (t))
        pp_id_expression (pp, t);
       else
-       pp_c_ws_string (pp, M_("<typedef-error>"));
+       pp->translate_string ("<typedef-error>");
       break;
 
     case UNION_TYPE:
@@ -415,12 +411,12 @@ pp_c_type_specifier (c_pretty_printer *pp, tree t)
       else if (code == ENUMERAL_TYPE)
        pp_c_ws_string (pp, "enum");
       else
-       pp_c_ws_string (pp, M_("<tag-error>"));
+       pp->translate_string ("<tag-error>");
 
       if (TYPE_NAME (t))
        pp_id_expression (pp, TYPE_NAME (t));
       else
-       pp_c_ws_string (pp, M_("<anonymous>"));
+       pp->translate_string ("<anonymous>");
       break;
 
     default:
@@ -1187,6 +1183,15 @@ pp_c_ws_string (c_pretty_printer *pp, const char *str)
   pp->padding = pp_before;
 }
 
+void
+c_pretty_printer::translate_string (const char *gmsgid)
+{
+  if (pp_translate_identifiers (this))
+    pp_c_ws_string (this, _(gmsgid));
+  else
+    pp_c_ws_string (this, gmsgid);
+}
+
 /* Pretty-print an IDENTIFIER_NODE, which may contain UTF-8 sequences
    that need converting to the locale encoding, preceded by whitespace
    is necessary.  */
@@ -1225,11 +1230,11 @@ pp_c_primary_expression (c_pretty_printer *pp, tree e)
       break;
 
     case ERROR_MARK:
-      pp_c_ws_string (pp, M_("<erroneous-expression>"));
+      pp->translate_string ("<erroneous-expression>");
       break;
 
     case RESULT_DECL:
-      pp_c_ws_string (pp, M_("<return-value>"));
+      pp->translate_string ("<return-value>");
       break;
 
     case INTEGER_CST:
@@ -2155,7 +2160,7 @@ pp_c_expression (c_pretty_printer *pp, tree e)
          && !DECL_ARTIFICIAL (SSA_NAME_VAR (e)))
        pp_c_expression (pp, SSA_NAME_VAR (e));
       else
-       pp_c_ws_string (pp, M_("<unknown>"));
+       pp->translate_string ("<unknown>");
       break;
 
     case POSTINCREMENT_EXPR:
index 91e635f56abb019e0130ba568946fcae05c086d7..f347bc53dd77c16d62ecccbba1d348e86715e3f0 100644 (file)
@@ -51,6 +51,9 @@ struct c_pretty_printer : pretty_printer
 {
   c_pretty_printer ();
 
+  // Format string, possibly translated.
+  void translate_string (const char *);
+
   virtual void constant (tree);
   virtual void id_expression (tree);
   /* Points to the first element of an array of offset-list.
index 830744826cfbaa885b919d9097357a48ca38be6f..d746f53f31319e6a24b015f1fcce34f8b3bc04a6 100644 (file)
@@ -1,3 +1,9 @@
+2013-08-25  Gabriel Dos Reis  <gdr@integrable-solutions.net>
+
+       * cxx-pretty-print.c (M_): Remove.
+       (pp_cxx_unqualified_id): Use translate_string instead of M_.
+       (pp_cxx_canonical_template_parameter): Likewise.
+
 2013-08-24  Gabriel Dos Reis  <gdr@integrable-solutions.net>
 
        * cxx-pretty-print.h (cxx_pretty_printer::id_expression): Declare.
index dcebe0bbcc643192bad523768ef0a18d3c69cfa1..6e3b2ad1115ea65b8f0a50178405e5be47a3d715 100644 (file)
@@ -27,10 +27,6 @@ along with GCC; see the file COPYING3.  If not see
 #include "cxx-pretty-print.h"
 #include "tree-pretty-print.h"
 
-/* Translate if being used for diagnostics, but not for dump files or
-   __PRETTY_FUNCTION.  */
-#define M_(msgid) (pp_translate_identifiers (pp) ? _(msgid) : (msgid))
-
 static void pp_cxx_unqualified_id (cxx_pretty_printer *, tree);
 static void pp_cxx_nested_name_specifier (cxx_pretty_printer *, tree);
 static void pp_cxx_qualified_id (cxx_pretty_printer *, tree);
@@ -149,7 +145,7 @@ pp_cxx_unqualified_id (cxx_pretty_printer *pp, tree t)
   switch (code)
     {
     case RESULT_DECL:
-      pp_cxx_ws_string (pp, M_("<return-value>"));
+      pp->translate_string ("<return-value>");
       break;
 
     case OVERLOAD:
@@ -168,7 +164,7 @@ pp_cxx_unqualified_id (cxx_pretty_printer *pp, tree t)
 
     case IDENTIFIER_NODE:
       if (t == NULL)
-       pp_cxx_ws_string (pp, M_("<unnamed>"));
+       pp->translate_string ("<unnamed>");
       else if (IDENTIFIER_TYPENAME_P (t))
        pp_cxx_conversion_function_id (pp, t);
       else
@@ -2154,7 +2150,7 @@ pp_cxx_canonical_template_parameter (cxx_pretty_printer *pp, tree parm)
     parm = TEMPLATE_TYPE_PARM_INDEX (parm);
 
   pp_cxx_begin_template_argument_list (pp);
-  pp_cxx_ws_string (pp, M_("template-parameter-"));
+  pp->translate_string ("template-parameter-");
   pp_wide_integer (pp, TEMPLATE_PARM_LEVEL (parm));
   pp_minus (pp);
   pp_wide_integer (pp, TEMPLATE_PARM_IDX (parm) + 1);