diff options
author | gdr <gdr@138bc75d-0d04-0410-961f-82ee72b054a4> | 2013-08-22 10:14:46 +0000 |
---|---|---|
committer | gdr <gdr@138bc75d-0d04-0410-961f-82ee72b054a4> | 2013-08-22 10:14:46 +0000 |
commit | eed6bc214df1f3b9b1b68c871d4d8ff106ca19f4 (patch) | |
tree | 022ef428c3c313c44d9026f48348fe881e59ba87 /gcc/cp/cp-objcp-common.c | |
parent | 07c6dcc3ec27545add1c459ff73e19e687b2512c (diff) | |
download | gcc-eed6bc214df1f3b9b1b68c871d4d8ff106ca19f4.tar.gz |
* pretty-print.h (output_buffer::output_buffer): Declare.
(pretty_printer::pretty_printer): Likewise.
(pp_construct): Remove.
* pretty-print.c (output_buffer::output_buffer): Define.
(pretty_printer::pretty_printer): Rename from pp_construct. Simplify.
* gimple-pretty-print.c (print_gimple_stmt): Do not call pp_construct.
(print_gimple_expr): Likewise.
(print_gimple_seq): Likewise.
(gimple_dump_bb): Likewise.
* sched-vis.c (dump_value_slim): Likewise.
(dump_insn_slim): Likewise.
(dump_rtl_slim): Likewise.
(str_pattern_slim): Likewise.
* tree-mudflap.c (mf_varname_tree): Likewise.
* graph.c (print_graph_cfg): Likewise.
(start_graph_dump): Likewise.
* tree-pretty-print.c (maybe_init_pretty_print): Likewise. Use
placement-new.
* diagnostic.c (diagnostic_initialize): Simplify early diagnostic
pretty printer initialization.
* coretypes.h (diagnostic_context): Remove superflous type alias
declaration.
(pretty_printer): Likewise. Declare directly as a class.
(pretty_print_info): Remove declaration as class.
* asan.c (asan_emit_stack_protection): Remove call to pp_construct
and pp_clear_output_area.
(asan_add_global): Likewise.
c/
* c-objc-common.c (c_initialize_diagnostics): Simplify C pretty
printer initialization.
c-family/
* c-pretty-print.h (pp_c_pretty_printer_init): Remove.
(c_pretty_printer::c_pretty_printer): Declare.
* c-pretty-print.c (pretty_printer::c_pretty_printer): Rename from
c_pretty_printer_init. Adjust.
(print_c_tree): Do not call c_pretty_printer_init.
* c-ada-spec.c (dump_ads): Remove call to pp_construct.
cp/
* error.c (init_error): Remove calls to pp_construct and
pp_cxx_pretty_printer_init. Initialize cxx_pp with placement-new.
* cxx-pretty-print.h (cxx_pretty_printer::cxx_pretty_printer): Declare.
(cxx_pretty_printer_init): Remove.
* cxx-pretty-print.c (cxx_pretty_printer::cxx_pretty_printer):
Rename from cxx_pretty_printer_init. Adjust.
* cp-objcp-common.c (cxx_initialize_diagnostics): Simplify
initialization of C++ diagnostics pretty printer.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@201918 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/cp/cp-objcp-common.c')
-rw-r--r-- | gcc/cp/cp-objcp-common.c | 17 |
1 files changed, 7 insertions, 10 deletions
diff --git a/gcc/cp/cp-objcp-common.c b/gcc/cp/cp-objcp-common.c index e568a05947e..c11ecebf9db 100644 --- a/gcc/cp/cp-objcp-common.c +++ b/gcc/cp/cp-objcp-common.c @@ -32,6 +32,8 @@ along with GCC; see the file COPYING3. If not see #include "cxx-pretty-print.h" #include "cp-objcp-common.h" +#include <new> // For placement new. + /* Special routine to get the alias set for C++. */ alias_set_type @@ -131,19 +133,14 @@ cp_var_mod_type_p (tree type, tree fn) void cxx_initialize_diagnostics (diagnostic_context *context) { - pretty_printer *base; - cxx_pretty_printer *pp; - c_common_initialize_diagnostics (context); - base = context->printer; - pp = XNEW (cxx_pretty_printer); - memcpy (pp, base, sizeof (pretty_printer)); - pp_cxx_pretty_printer_init (pp); - context->printer = (pretty_printer *) pp; + pretty_printer *base = context->printer; + cxx_pretty_printer *pp = XNEW (cxx_pretty_printer); + context->printer = new (pp) cxx_pretty_printer (); - /* It is safe to free this object because it was previously malloc()'d. */ - free (base); + /* It is safe to free this object because it was previously XNEW()'d. */ + XDELETE (base); } /* This compares two types for equivalence ("compatible" in C-based languages). |