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

Reply via email to