diff options
Diffstat (limited to 'gcc/toplev.c')
-rw-r--r-- | gcc/toplev.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/gcc/toplev.c b/gcc/toplev.c index a7f4b581f42..492a7ef58e5 100644 --- a/gcc/toplev.c +++ b/gcc/toplev.c @@ -93,6 +93,8 @@ along with GCC; see the file COPYING3. If not see declarations for e.g. AIX 4.x. */ #endif +#include <new> + static void general_init (const char *); static void do_compile (void); static void process_options (void); @@ -401,7 +403,7 @@ wrapup_global_declaration_2 (tree decl) needed = false; else if (node && node->alias) needed = false; - else if (!cgraph_global_info_ready + else if (!symtab->global_info_ready && (TREE_USED (decl) || TREE_USED (DECL_ASSEMBLER_NAME (decl)))) /* needed */; @@ -1173,6 +1175,7 @@ general_init (const char *argv0) /* Create the singleton holder for global state. Doing so also creates the pass manager and with it the passes. */ g = new gcc::context (); + symtab = ggc_cleared_alloc <symbol_table> (); statistics_early_init (); finish_params (); @@ -1931,7 +1934,7 @@ do_compile (void) ggc_protect_identifiers = true; - init_cgraph (); + symtab->initialize (); init_final (main_input_filename); coverage_init (aux_base_name); statistics_init (); |