aboutsummaryrefslogtreecommitdiff
path: root/gcc/cp
diff options
context:
space:
mode:
authorGabriel Dos Reis <gdr@integrable-solutions.net>2013-08-26 03:12:38 +0000
committerGabriel Dos Reis <gdr@gcc.gnu.org>2013-08-26 03:12:38 +0000
commitfb22178f7d94c8101146bcaf66c7703d0ef643e0 (patch)
tree296c5e4a19d1b43450a72087d4fbfb5b587e5f84 /gcc/cp
parent2c9d6efb4f958353c5c9b9ca56c2ddf7dd9a27a9 (diff)
downloadgcc-fb22178f7d94c8101146bcaf66c7703d0ef643e0.zip
gcc-fb22178f7d94c8101146bcaf66c7703d0ef643e0.tar.gz
gcc-fb22178f7d94c8101146bcaf66c7703d0ef643e0.tar.bz2
c-pretty-print.h (c_pretty_printer::postfix_expression): Now a virtual member function.
c-family/ * c-pretty-print.h (c_pretty_printer::postfix_expression): Now a virtual member function. (pp_postfix_expression): Adjust. (pp_c_postfix_expression): Remove. * c-pretty-print.c (c_pretty_printer::postfix_expression): Rename from pp_c_postfix_expression. Adjust. (c_pretty_printer::c_pretty_printer): Do not assign to postfix_expression. cp/ * cxx-pretty-print.h (cxx_pretty_printer::postfix_expression): Declare as overrider. * cxx-pretty-print.c (cxx_pretty_printer::postfix_expression): Rename from pp_cxx_postfix_expression. Adjust. (pp_cxx_expression): Use pp_postfix_expression. (cxx_pretty_printer::cxx_pretty_printer): Do not assign to postfix_expression. From-SVN: r201985
Diffstat (limited to 'gcc/cp')
-rw-r--r--gcc/cp/ChangeLog12
-rw-r--r--gcc/cp/cxx-pretty-print.c87
-rw-r--r--gcc/cp/cxx-pretty-print.h1
3 files changed, 55 insertions, 45 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index 0bc0b9a..cfc7dd9 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,4 +1,14 @@
-2013-08-25 Gabriel Dos Reis <gdr@cs.tamu.edu>
+2013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
+
+ * cxx-pretty-print.h (cxx_pretty_printer::postfix_expression):
+ Declare as overrider.
+ * cxx-pretty-print.c (cxx_pretty_printer::postfix_expression):
+ Rename from pp_cxx_postfix_expression. Adjust.
+ (pp_cxx_expression): Use pp_postfix_expression.
+ (cxx_pretty_printer::cxx_pretty_printer): Do not assign to
+ postfix_expression.
+
+2013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
* cxx-pretty-print.h (cxx_pretty_printer::primary_expression): Now
an overrider of c_pretty_printer::primary_expression.
diff --git a/gcc/cp/cxx-pretty-print.c b/gcc/cp/cxx-pretty-print.c
index 2ee72a7..799b807 100644
--- a/gcc/cp/cxx-pretty-print.c
+++ b/gcc/cp/cxx-pretty-print.c
@@ -487,8 +487,8 @@ cxx_pretty_printer::primary_expression (tree t)
typeid ( expression )
typeid ( type-id ) */
-static void
-pp_cxx_postfix_expression (cxx_pretty_printer *pp, tree t)
+void
+cxx_pretty_printer::postfix_expression (tree t)
{
enum tree_code code = TREE_CODE (t);
@@ -499,7 +499,7 @@ pp_cxx_postfix_expression (cxx_pretty_printer *pp, tree t)
{
tree fun = (code == AGGR_INIT_EXPR ? AGGR_INIT_EXPR_FN (t)
: CALL_EXPR_FN (t));
- tree saved_scope = pp->enclosing_scope;
+ tree saved_scope = enclosing_scope;
bool skipfirst = false;
tree arg;
@@ -528,21 +528,21 @@ pp_cxx_postfix_expression (cxx_pretty_printer *pp, tree t)
if (!TYPE_PTR_P (TREE_TYPE (object)))
{
- pp_cxx_postfix_expression (pp, object);
- pp_cxx_dot (pp);
+ postfix_expression (object);
+ pp_cxx_dot (this);
}
else
{
- pp_cxx_postfix_expression (pp, object);
- pp_cxx_arrow (pp);
+ postfix_expression (object);
+ pp_cxx_arrow (this);
}
skipfirst = true;
- pp->enclosing_scope = strip_pointer_operator (TREE_TYPE (object));
+ enclosing_scope = strip_pointer_operator (TREE_TYPE (object));
}
- pp_cxx_postfix_expression (pp, fun);
- pp->enclosing_scope = saved_scope;
- pp_cxx_left_paren (pp);
+ postfix_expression (fun);
+ enclosing_scope = saved_scope;
+ pp_cxx_left_paren (this);
if (code == AGGR_INIT_EXPR)
{
aggr_init_expr_arg_iterator iter;
@@ -552,9 +552,9 @@ pp_cxx_postfix_expression (cxx_pretty_printer *pp, tree t)
skipfirst = false;
else
{
- pp_cxx_expression (pp, arg);
+ pp_cxx_expression (this, arg);
if (more_aggr_init_expr_args_p (&iter))
- pp_cxx_separate_with (pp, ',');
+ pp_cxx_separate_with (this, ',');
}
}
}
@@ -567,18 +567,18 @@ pp_cxx_postfix_expression (cxx_pretty_printer *pp, tree t)
skipfirst = false;
else
{
- pp_cxx_expression (pp, arg);
+ pp_cxx_expression (this, arg);
if (more_call_expr_args_p (&iter))
- pp_cxx_separate_with (pp, ',');
+ pp_cxx_separate_with (this, ',');
}
}
}
- pp_cxx_right_paren (pp);
+ pp_cxx_right_paren (this);
}
if (code == AGGR_INIT_EXPR && AGGR_INIT_VIA_CTOR_P (t))
{
- pp_cxx_separate_with (pp, ',');
- pp_cxx_postfix_expression (pp, AGGR_INIT_EXPR_SLOT (t));
+ pp_cxx_separate_with (this, ',');
+ postfix_expression (AGGR_INIT_EXPR_SLOT (t));
}
break;
@@ -591,7 +591,7 @@ pp_cxx_postfix_expression (cxx_pretty_printer *pp, tree t)
case CONST_DECL:
case TEMPLATE_DECL:
case RESULT_DECL:
- pp_primary_expression (pp, t);
+ primary_expression (t);
break;
case DYNAMIC_CAST_EXPR:
@@ -599,47 +599,47 @@ pp_cxx_postfix_expression (cxx_pretty_printer *pp, tree t)
case REINTERPRET_CAST_EXPR:
case CONST_CAST_EXPR:
if (code == DYNAMIC_CAST_EXPR)
- pp_cxx_ws_string (pp, "dynamic_cast");
+ pp_cxx_ws_string (this, "dynamic_cast");
else if (code == STATIC_CAST_EXPR)
- pp_cxx_ws_string (pp, "static_cast");
+ pp_cxx_ws_string (this, "static_cast");
else if (code == REINTERPRET_CAST_EXPR)
- pp_cxx_ws_string (pp, "reinterpret_cast");
+ pp_cxx_ws_string (this, "reinterpret_cast");
else
- pp_cxx_ws_string (pp, "const_cast");
- pp_cxx_begin_template_argument_list (pp);
- pp_cxx_type_id (pp, TREE_TYPE (t));
- pp_cxx_end_template_argument_list (pp);
- pp_left_paren (pp);
- pp_cxx_expression (pp, TREE_OPERAND (t, 0));
- pp_right_paren (pp);
+ pp_cxx_ws_string (this, "const_cast");
+ pp_cxx_begin_template_argument_list (this);
+ pp_cxx_type_id (this, TREE_TYPE (t));
+ pp_cxx_end_template_argument_list (this);
+ pp_left_paren (this);
+ pp_cxx_expression (this, TREE_OPERAND (t, 0));
+ pp_right_paren (this);
break;
case EMPTY_CLASS_EXPR:
- pp_cxx_type_id (pp, TREE_TYPE (t));
- pp_left_paren (pp);
- pp_right_paren (pp);
+ pp_cxx_type_id (this, TREE_TYPE (t));
+ pp_left_paren (this);
+ pp_right_paren (this);
break;
case TYPEID_EXPR:
- pp_cxx_typeid_expression (pp, t);
+ pp_cxx_typeid_expression (this, t);
break;
case PSEUDO_DTOR_EXPR:
- pp_cxx_postfix_expression (pp, TREE_OPERAND (t, 0));
- pp_cxx_dot (pp);
- pp_cxx_qualified_id (pp, TREE_OPERAND (t, 1));
- pp_cxx_colon_colon (pp);
- pp_complement (pp);
- pp_cxx_unqualified_id (pp, TREE_OPERAND (t, 2));
+ postfix_expression (TREE_OPERAND (t, 0));
+ pp_cxx_dot (this);
+ pp_cxx_qualified_id (this, TREE_OPERAND (t, 1));
+ pp_cxx_colon_colon (this);
+ pp_complement (this);
+ pp_cxx_unqualified_id (this, TREE_OPERAND (t, 2));
break;
case ARROW_EXPR:
- pp_cxx_postfix_expression (pp, TREE_OPERAND (t, 0));
- pp_cxx_arrow (pp);
+ postfix_expression (TREE_OPERAND (t, 0));
+ pp_cxx_arrow (this);
break;
default:
- pp_c_postfix_expression (pp, t);
+ c_pretty_printer::postfix_expression (t);
break;
}
}
@@ -1085,7 +1085,7 @@ pp_cxx_expression (cxx_pretty_printer *pp, tree t)
case PSEUDO_DTOR_EXPR:
case AGGR_INIT_EXPR:
case ARROW_EXPR:
- pp_cxx_postfix_expression (pp, t);
+ pp_postfix_expression (pp, t);
break;
case NEW_EXPR:
@@ -2448,7 +2448,6 @@ cxx_pretty_printer::cxx_pretty_printer ()
/* pp->statement = (pp_fun) pp_cxx_statement; */
- postfix_expression = (pp_fun) pp_cxx_postfix_expression;
unary_expression = (pp_fun) pp_cxx_unary_expression;
multiplicative_expression = (pp_fun) pp_cxx_multiplicative_expression;
conditional_expression = (pp_fun) pp_cxx_conditional_expression;
diff --git a/gcc/cp/cxx-pretty-print.h b/gcc/cp/cxx-pretty-print.h
index 2e2391f..6b0416c 100644
--- a/gcc/cp/cxx-pretty-print.h
+++ b/gcc/cp/cxx-pretty-print.h
@@ -36,6 +36,7 @@ struct cxx_pretty_printer : c_pretty_printer
void constant (tree);
void id_expression (tree);
void primary_expression (tree);
+ void postfix_expression (tree);
/* This is the enclosing scope of the entity being pretty-printed. */
tree enclosing_scope;
};