summaryrefslogtreecommitdiff
path: root/gcc/context.c
diff options
context:
space:
mode:
authorDavid Malcolm <dmalcolm@redhat.com>2013-10-14 16:15:38 +0000
committerDavid Malcolm <dmalcolm@gcc.gnu.org>2013-10-14 16:15:38 +0000
commit47e0da377eb7021c043244cd4ff99669eb1a370c (patch)
treea2a58a4c89a20875a0fa23706d4171d2fe967ef5 /gcc/context.c
parent811189d91a29fbced411a62f9fcea66e2b7882cb (diff)
Introduce gcc::dump_manager class
gcc/ * dumpfile.h (gcc::dump_manager): New class, to hold state relating to dumpfile management. (get_dump_file_name): Remove in favor of method of dump_manager. (dump_initialized_p): Likewise. (dump_start): Likewise. (dump_finish): Likewise. (dump_switch_p): Likewise. (dump_register): Likewise. (get_dump_file_info): Likewise. * context.c (gcc::context::context): Construct the dump_manager instance. * context.h (gcc::context::get_dumps): New. (gcc::context::m_dumps): New. * coverage.c (coverage_init): Port to dump_manager API. * dumpfile.c (extra_dump_files): Convert to field of gcc::dump_manager. (extra_dump_files_in_use): Likewise. (extra_dump_files_alloced): Likewise. (gcc::dump_manager::dump_manager): New. (dump_register): Convert to... (gcc::dump_manager::dump_register): ...method, replacing function-static next_dump with m_next_dump field. (get_dump_file_info): Convert to... (gcc::dump_manager::get_dump_file_info): ...method. (get_dump_file_name): Convert to... (gcc::dump_manager::get_dump_file_name): ...method. (dump_start): Convert to... (gcc::dump_manager::dump_start): ...method. (dump_finish): Convert to... (gcc::dump_manager::dump_finish): ...method. (dump_begin): Replace body with... (gcc::dump_manager::dump_begin): ...new method. (dump_phase_enabled_p): Convert to... (gcc::dump_manager::dump_phase_enabled_p): ...method. (dump_phase_enabled_p): Convert to... (gcc::dump_manager::dump_phase_enabled_p): ...method. (dump_initialized_p): Convert to... (gcc::dump_manager::dump_initialized_p): ...method. (dump_flag_name): Replace body with... (gcc::dump_manager::dump_flag_name): ...new method. (dump_enable_all): Convert to... (gcc::dump_manager::dump_enable_all): ...new method. (opt_info_enable_passes): Convert to... (gcc::dump_manager::opt_info_enable_passes): ...new method. (dump_switch_p_1): Convert to... (gcc::dump_manager::dump_switch_p_1): ...new method. (dump_switch_p): Convert to... (gcc::dump_manager::dump_switch_p): ...new method. (opt_info_switch_p): Port to dump_manager API. (enable_rtl_dump_file): Likewise. * opts-global.c (handle_common_deferred_options): Port to new dump_manager API. * passes.c (pass_manager::finish_optimization_passes): Likewise. (pass_manager::register_one_dump_file): Likewise. (pass_manager::register_pass): Likewise. (pass_init_dump_file): Likewise. (pass_fini_dump_file): Likewise. * statistics.c (statistics_early_init): Likewise. gcc/java/ * lang.c (java_handle_option): Update for introduction of gcc::dump_manager. From-SVN: r203569
Diffstat (limited to 'gcc/context.c')
-rw-r--r--gcc/context.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/gcc/context.c b/gcc/context.c
index 09e1f898f7a..3dd4526845e 100644
--- a/gcc/context.c
+++ b/gcc/context.c
@@ -23,11 +23,16 @@ along with GCC; see the file COPYING3. If not see
#include "ggc.h"
#include "context.h"
#include "pass_manager.h"
+#include "dumpfile.h"
/* The singleton holder of global state: */
gcc::context *g;
gcc::context::context ()
{
+ /* The pass manager's constructor uses the dump manager (to set up
+ dumps for the various passes), so the dump manager must be set up
+ before the pass manager. */
+ m_dumps = new gcc::dump_manager ();
m_passes = new gcc::pass_manager (this);
}