bootstrapped and same test results on x86_64-linux-gnu against r201084
gcc/cp/
* cxx-pretty-print.h (cxx_pretty_printer): inherit from c_pretty_printer
instead of include it.
* (cxx_pretty_print.c): adjust accordingly.
---
gcc/cp/cxx-pretty-print.c | 40 ++++++++++++++++++++--------------------
gcc/cp/cxx-pretty-print.h | 7 +++----
2 files changed, 23 insertions(+), 24 deletions(-)
diff --git a/gcc/cp/cxx-pretty-print.c b/gcc/cp/cxx-pretty-print.c
index ef8df70..89d14da 100644
--- a/gcc/cp/cxx-pretty-print.c
+++ b/gcc/cp/cxx-pretty-print.c
@@ -2440,29 +2440,29 @@ pp_cxx_pretty_printer_init (cxx_pretty_printer *pp)
pp_c_pretty_printer_init (pp_c_base (pp));
pp_set_line_maximum_length (pp, 0);
- pp->c_base.declaration = (pp_fun) pp_cxx_declaration;
- pp->c_base.declaration_specifiers = (pp_fun) pp_cxx_decl_specifier_seq;
- pp->c_base.function_specifier = (pp_fun) pp_cxx_function_specifier;
- pp->c_base.type_specifier_seq = (pp_fun) pp_cxx_type_specifier_seq;
- pp->c_base.declarator = (pp_fun) pp_cxx_declarator;
- pp->c_base.direct_declarator = (pp_fun) pp_cxx_direct_declarator;
- pp->c_base.parameter_list = (pp_fun) pp_cxx_parameter_declaration_clause;
- pp->c_base.type_id = (pp_fun) pp_cxx_type_id;
- pp->c_base.abstract_declarator = (pp_fun) pp_cxx_abstract_declarator;
- pp->c_base.direct_abstract_declarator =
+ pp->declaration = (pp_fun) pp_cxx_declaration;
+ pp->declaration_specifiers = (pp_fun) pp_cxx_decl_specifier_seq;
+ pp->function_specifier = (pp_fun) pp_cxx_function_specifier;
+ pp->type_specifier_seq = (pp_fun) pp_cxx_type_specifier_seq;
+ pp->declarator = (pp_fun) pp_cxx_declarator;
+ pp->direct_declarator = (pp_fun) pp_cxx_direct_declarator;
+ pp->parameter_list = (pp_fun) pp_cxx_parameter_declaration_clause;
+ pp->type_id = (pp_fun) pp_cxx_type_id;
+ pp->abstract_declarator = (pp_fun) pp_cxx_abstract_declarator;
+ pp->direct_abstract_declarator =
(pp_fun) pp_cxx_direct_abstract_declarator;
- pp->c_base.simple_type_specifier = (pp_fun)pp_cxx_simple_type_specifier;
+ pp->simple_type_specifier = (pp_fun)pp_cxx_simple_type_specifier;
/* pp->c_base.statement = (pp_fun) pp_cxx_statement; */
- pp->c_base.constant = (pp_fun) pp_cxx_constant;
- pp->c_base.id_expression = (pp_fun) pp_cxx_id_expression;
- pp->c_base.primary_expression = (pp_fun) pp_cxx_primary_expression;
- pp->c_base.postfix_expression = (pp_fun) pp_cxx_postfix_expression;
- pp->c_base.unary_expression = (pp_fun) pp_cxx_unary_expression;
- pp->c_base.multiplicative_expression = (pp_fun)
pp_cxx_multiplicative_expression;
- pp->c_base.conditional_expression = (pp_fun) pp_cxx_conditional_expression;
- pp->c_base.assignment_expression = (pp_fun) pp_cxx_assignment_expression;
- pp->c_base.expression = (pp_fun) pp_cxx_expression;
+ pp->constant = (pp_fun) pp_cxx_constant;
+ pp->id_expression = (pp_fun) pp_cxx_id_expression;
+ pp->primary_expression = (pp_fun) pp_cxx_primary_expression;
+ pp->postfix_expression = (pp_fun) pp_cxx_postfix_expression;
+ pp->unary_expression = (pp_fun) pp_cxx_unary_expression;
+ pp->multiplicative_expression = (pp_fun) pp_cxx_multiplicative_expression;
+ pp->conditional_expression = (pp_fun) pp_cxx_conditional_expression;
+ pp->assignment_expression = (pp_fun) pp_cxx_assignment_expression;
+ pp->expression = (pp_fun) pp_cxx_expression;
pp->enclosing_scope = global_namespace;
}
diff --git a/gcc/cp/cxx-pretty-print.h b/gcc/cp/cxx-pretty-print.h
index 0f7dc4a..f93287e 100644
--- a/gcc/cp/cxx-pretty-print.h
+++ b/gcc/cp/cxx-pretty-print.h
@@ -24,7 +24,7 @@ along with GCC; see the file COPYING3. If not see
#include "c-family/c-pretty-print.h"
#undef pp_c_base
-#define pp_c_base(PP) (&(PP)->c_base)
+#define pp_c_base(PP) (PP)
typedef enum
{
@@ -33,12 +33,11 @@ typedef enum
} cxx_pretty_printer_flags;
-typedef struct
+struct cxx_pretty_printer : public c_pretty_printer
{
- c_pretty_printer c_base;
/* This is the enclosing scope of the entity being pretty-printed. */
tree enclosing_scope;
-} cxx_pretty_printer;
+};
#define pp_cxx_cv_qualifier_seq(PP, T) \
pp_c_type_qualifier_list (pp_c_base (PP), T)
--
1.8.4.rc0