]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
c-pretty-print.h (c_pretty_printer::constant): Now a virtual member function.
authorGabriel Dos Reis <gdr@integrable-solutions.net>
Sat, 24 Aug 2013 22:29:37 +0000 (22:29 +0000)
committerGabriel Dos Reis <gdr@gcc.gnu.org>
Sat, 24 Aug 2013 22:29:37 +0000 (22:29 +0000)
* c-pretty-print.h (c_pretty_printer::constant): Now a virtual
member function.
(pp_constant): Adjust.
(pp_c_constant): Remove.
* c-pretty-print.c (c_pretty_printer::constant): Rename from
pp_c_constant.  Adjust.
(pp_c_constant)
(pp_c_primary_expression): Call pp_constant in lieu of pp_c_constant.
(c_pretty_printer::c_pretty_printer): Remove assignment to constant.

cp/
* cxx-pretty-print.h (cxx_pretty_printer::constant): Now a member
function, overriding c_pretty_printer::constant.
* cxx-pretty-print.c (cxx_pretty_printer::constant): Rename from
pp_cxx_constant.  Adjust.
(cxx_pretty_printer::cxx_pretty_printer): Do not assign to constant.

From-SVN: r201969

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
gcc/cp/cxx-pretty-print.h

index 513a927d6989f18bbedec2417ee88c6ab8c261aa..ffac4dd07aaf47f2c99bded06a037491d572473f 100644 (file)
@@ -1,3 +1,15 @@
+2013-08-24  Gabriel Dos Reis  <gdr@integrable-solutions.net>
+
+       * c-pretty-print.h (c_pretty_printer::constant): Now a virtual
+       member function.
+       (pp_constant): Adjust.
+       (pp_c_constant): Remove.
+       * c-pretty-print.c (c_pretty_printer::constant): Rename from
+       pp_c_constant.  Adjust.
+       (pp_c_constant)
+       (pp_c_primary_expression): Call pp_constant in lieu of pp_c_constant.
+       (c_pretty_printer::c_pretty_printer): Remove assignment to constant.
+
 2013-08-22  Gabriel Dos Reis  <gdr@integrable-solutions.net>
 
        * c-pretty-print.h (pp_c_pretty_printer_init): Remove.
index 253dfd13ff668086c1875ed799fd5df6289f6d3e..5291be775c2eff57dee5a625d7757f880d56b34e 100644 (file)
@@ -1130,7 +1130,7 @@ pp_c_complex_expr (c_pretty_printer *pp, tree e)
       character-constant   */
 
 void
-pp_c_constant (c_pretty_printer *pp, tree e)
+c_pretty_printer::constant (tree e)
 {
   const enum tree_code code = TREE_CODE (e);
 
@@ -1140,38 +1140,38 @@ pp_c_constant (c_pretty_printer *pp, tree e)
       {
        tree type = TREE_TYPE (e);
        if (type == boolean_type_node)
-         pp_c_bool_constant (pp, e);
+         pp_c_bool_constant (this, e);
        else if (type == char_type_node)
-         pp_c_character_constant (pp, e);
+         pp_c_character_constant (this, e);
        else if (TREE_CODE (type) == ENUMERAL_TYPE
-                && pp_c_enumeration_constant (pp, e))
+                && pp_c_enumeration_constant (this, e))
          ;
        else
-         pp_c_integer_constant (pp, e);
+         pp_c_integer_constant (this, e);
       }
       break;
 
     case REAL_CST:
-      pp_c_floating_constant (pp, e);
+      pp_c_floating_constant (this, e);
       break;
 
     case FIXED_CST:
-      pp_c_fixed_constant (pp, e);
+      pp_c_fixed_constant (this, e);
       break;
 
     case STRING_CST:
-      pp_c_string_literal (pp, e);
+      pp_c_string_literal (this, e);
       break;
 
     case COMPLEX_CST:
       /* Sometimes, we are confused and we think a complex literal
          is a constant.  Such thing is a compound literal which
          grammatically belongs to postfix-expr production.  */
-      pp_c_compound_literal (pp, e);
+      pp_c_compound_literal (this, e);
       break;
 
     default:
-      pp_unsupported_tree (pp, e);
+      pp_unsupported_tree (this, e);
       break;
     }
 }
@@ -1236,7 +1236,7 @@ pp_c_primary_expression (c_pretty_printer *pp, tree e)
     case REAL_CST:
     case FIXED_CST:
     case STRING_CST:
-      pp_c_constant (pp, e);
+      pp_constant (pp, e);
       break;
 
     case TARGET_EXPR:
@@ -1357,7 +1357,7 @@ pp_c_initializer_list (c_pretty_printer *pp, tree e)
              {
                pp_c_left_bracket (pp);
                if (TREE_PURPOSE (init))
-                 pp_c_constant (pp, TREE_PURPOSE (init));
+                 pp_constant (pp, TREE_PURPOSE (init));
                pp_c_right_bracket (pp);
              }
            pp_c_whitespace (pp);
@@ -2339,7 +2339,6 @@ c_pretty_printer::c_pretty_printer ()
 
   statement                 = pp_c_statement;
 
-  constant                  = pp_c_constant;
   id_expression             = pp_c_id_expression;
   primary_expression        = pp_c_primary_expression;
   postfix_expression        = pp_c_postfix_expression;
index 90647558f7c61e8b132f2d4202fddfaa6dbec472..13b0fe55397ae2b0a8ecb80338054c9abd713890 100644 (file)
@@ -51,6 +51,7 @@ struct c_pretty_printer : pretty_printer
 {
   c_pretty_printer ();
 
+  virtual void constant (tree);
   /* Points to the first element of an array of offset-list.
      Not used yet.  */
   int *offset_list;
@@ -76,7 +77,6 @@ struct c_pretty_printer : pretty_printer
 
   c_pretty_print_fn statement;
 
-  c_pretty_print_fn constant;
   c_pretty_print_fn id_expression;
   c_pretty_print_fn primary_expression;
   c_pretty_print_fn postfix_expression;
@@ -109,7 +109,7 @@ struct c_pretty_printer : pretty_printer
 
 #define pp_statement(PP, S)             (PP)->statement (PP, S)
 
-#define pp_constant(PP, E)              (PP)->constant (PP, E)
+#define pp_constant(PP, E)              (PP)->constant (E)
 #define pp_id_expression(PP, E)         (PP)->id_expression (PP, E)
 #define pp_primary_expression(PP, E)    (PP)->primary_expression (PP, E)
 #define pp_postfix_expression(PP, E)    (PP)->postfix_expression (PP, E)
@@ -169,7 +169,6 @@ void pp_c_cast_expression (c_pretty_printer *, tree);
 void pp_c_postfix_expression (c_pretty_printer *, tree);
 void pp_c_primary_expression (c_pretty_printer *, tree);
 void pp_c_init_declarator (c_pretty_printer *, tree);
-void pp_c_constant (c_pretty_printer *, tree);
 void pp_c_id_expression (c_pretty_printer *, tree);
 void pp_c_ws_string (c_pretty_printer *, const char *);
 void pp_c_identifier (c_pretty_printer *, const char *);
index 69728683651afb0bfd30e182e64b0160bf59579d..42db29561abcf39556673d50d3b2c58b94e6d075 100644 (file)
@@ -1,3 +1,11 @@
+2013-08-24  Gabriel Dos Reis  <gdr@integrable-solutions.net>
+
+       * cxx-pretty-print.h (cxx_pretty_printer::constant): Now a member
+       function, overriding c_pretty_printer::constant.
+       * cxx-pretty-print.c (cxx_pretty_printer::constant): Rename from
+       pp_cxx_constant.  Adjust.
+       (cxx_pretty_printer::cxx_pretty_printer): Do not assign to constant.
+
 2013-08-23  Gabriel Dos Reis  <gdr@integrable-solutiobs.net>
 
        * cp-objcp-common.c (cxx_initialize_diagnostics): Call a
index 6c3236595d23a05ef74f124b0d0c20085349372b..f83f31db26089f954990cc9e9a89679914e18cae 100644 (file)
@@ -321,8 +321,8 @@ pp_cxx_qualified_id (cxx_pretty_printer *pp, tree t)
 }
 
 
-static void
-pp_cxx_constant (cxx_pretty_printer *pp, tree t)
+void
+cxx_pretty_printer::constant (tree t)
 {
   switch (TREE_CODE (t))
     {
@@ -330,23 +330,23 @@ pp_cxx_constant (cxx_pretty_printer *pp, tree t)
       {
        const bool in_parens = PAREN_STRING_LITERAL_P (t);
        if (in_parens)
-         pp_cxx_left_paren (pp);
-       pp_c_constant (pp, t);
+         pp_cxx_left_paren (this);
+       c_pretty_printer::constant (t);
        if (in_parens)
-         pp_cxx_right_paren (pp);
+         pp_cxx_right_paren (this);
       }
       break;
 
     case INTEGER_CST:
       if (NULLPTR_TYPE_P (TREE_TYPE (t)))
        {
-         pp_string (pp, "nullptr");
+         pp_string (this, "nullptr");
          break;
        }
       /* else fall through.  */
 
     default:
-      pp_c_constant (pp, t);
+      c_pretty_printer::constant (t);
       break;
     }
 }
@@ -372,7 +372,7 @@ pp_cxx_id_expression (cxx_pretty_printer *pp, tree t)
 void
 pp_cxx_userdef_literal (cxx_pretty_printer *pp, tree t)
 {
-  pp_cxx_constant (pp, USERDEF_LITERAL_VALUE (t));
+  pp_constant (pp, USERDEF_LITERAL_VALUE (t));
   pp_cxx_id_expression (pp, USERDEF_LITERAL_SUFFIX_ID (t));
 }
 
@@ -420,7 +420,7 @@ pp_cxx_primary_expression (cxx_pretty_printer *pp, tree t)
     case REAL_CST:
     case COMPLEX_CST:
     case STRING_CST:
-      pp_cxx_constant (pp, t);
+      pp_constant (pp, t);
       break;
 
     case USERDEF_LITERAL:
@@ -1041,7 +1041,7 @@ pp_cxx_expression (cxx_pretty_printer *pp, tree t)
     case INTEGER_CST:
     case REAL_CST:
     case COMPLEX_CST:
-      pp_cxx_constant (pp, t);
+      pp_constant (pp, t);
       break;
 
     case USERDEF_LITERAL:
@@ -2452,7 +2452,6 @@ cxx_pretty_printer::cxx_pretty_printer ()
 
   /* pp->statement = (pp_fun) pp_cxx_statement;  */
 
-  constant = (pp_fun) pp_cxx_constant;
   id_expression = (pp_fun) pp_cxx_id_expression;
   primary_expression = (pp_fun) pp_cxx_primary_expression;
   postfix_expression = (pp_fun) pp_cxx_postfix_expression;
index c4611e2e5234f5d6e01e60f33fac2d64c3944a97..3d82ecbf8b06ef608320895311158196f6fd24da 100644 (file)
@@ -32,6 +32,8 @@ enum cxx_pretty_printer_flags
 struct cxx_pretty_printer : c_pretty_printer
 {
   cxx_pretty_printer ();
+
+  virtual void constant (tree);
   /* This is the enclosing scope of the entity being pretty-printed.  */
   tree enclosing_scope;
 };