From: hubicka Date: Thu, 10 Oct 2019 13:04:44 +0000 (+0000) Subject: PR middle-end/92037 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=cec9f2fe83075028882a0463d7fd9abdde91cb1a;p=thirdparty%2Fgcc.git PR middle-end/92037 * cgraph.c (symbol_table_test::symbol_table_test): Use ggc_alloc rather than ggc_alloc_cleared to alloc symbol table. * toplev.c (general_init): Likewise. * cgraph.h (symbol_table): Explicitly construct every field. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@276804 138bc75d-0d04-0410-961f-82ee72b054a4 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 2e34b80eaa9f..e97db14f8e58 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,11 @@ +2019-10-10 Jan Hubicka + + PR middle-end/92037 + * cgraph.c (symbol_table_test::symbol_table_test): Use ggc_alloc + rather than ggc_alloc_cleared to alloc symbol table. + * toplev.c (general_init): Likewise. + * cgraph.h (symbol_table): Explicitly construct every field. + 2019-10-10 Andreas Krebbel * common/config/s390/s390-common.c (PF_ARCH13): Rename to... diff --git a/gcc/cgraph.c b/gcc/cgraph.c index 0c3c6e7cac42..8b752d838098 100644 --- a/gcc/cgraph.c +++ b/gcc/cgraph.c @@ -3835,7 +3835,7 @@ symbol_table_test::symbol_table_test () { gcc_assert (saved_symtab == NULL); saved_symtab = symtab; - symtab = new (ggc_cleared_alloc ()) symbol_table (); + symtab = new (ggc_alloc ()) symbol_table (); } /* Destructor. Restore the old value of symtab. */ diff --git a/gcc/cgraph.h b/gcc/cgraph.h index 73b2be6d26de..733d616fb8c3 100644 --- a/gcc/cgraph.h +++ b/gcc/cgraph.h @@ -2095,9 +2095,19 @@ public: friend struct cgraph_node; friend struct cgraph_edge; - symbol_table (): cgraph_max_uid (1), cgraph_max_summary_id (0), - edges_max_uid (1), edges_max_summary_id (0), - cgraph_released_summary_ids (), edge_released_summary_ids () + symbol_table (): + cgraph_count (0), cgraph_max_uid (1), cgraph_max_summary_id (0), + edges_count (0), edges_max_uid (1), edges_max_summary_id (0), + cgraph_released_summary_ids (), edge_released_summary_ids (), + nodes (NULL), asmnodes (NULL), asm_last_node (NULL), + order (0), global_info_ready (false), state (PARSING), + function_flags_ready (false), cpp_implicit_aliases_done (false), + section_hash (NULL), assembler_name_hash (NULL), init_priority_hash (NULL), + dump_file (NULL), ipa_clones_dump_file (NULL), cloned_nodes (), + m_first_edge_removal_hook (NULL), m_first_cgraph_removal_hook (NULL), + m_first_edge_duplicated_hook (NULL), m_first_cgraph_duplicated_hook (NULL), + m_first_cgraph_insertion_hook (NULL), m_first_varpool_insertion_hook (NULL), + m_first_varpool_removal_hook (NULL) { } @@ -2343,6 +2353,9 @@ public: /* Vector of released summary IDS for cgraph nodes. */ vec GTY ((skip)) edge_released_summary_ids; + /* Return symbol used to separate symbol name from suffix. */ + static char symbol_suffix_separator (); + symtab_node* GTY(()) nodes; asm_node* GTY(()) asmnodes; asm_node* GTY(()) asm_last_node; @@ -2372,9 +2385,6 @@ public: FILE* GTY ((skip)) dump_file; - /* Return symbol used to separate symbol name from suffix. */ - static char symbol_suffix_separator (); - FILE* GTY ((skip)) ipa_clones_dump_file; hash_set GTY ((skip)) cloned_nodes; diff --git a/gcc/toplev.c b/gcc/toplev.c index d741a66f3857..b85d52ca9b79 100644 --- a/gcc/toplev.c +++ b/gcc/toplev.c @@ -1170,7 +1170,7 @@ general_init (const char *argv0, bool init_signals) /* Create the passes. */ g->set_passes (new gcc::pass_manager (g)); - symtab = new (ggc_cleared_alloc ()) symbol_table (); + symtab = new (ggc_alloc ()) symbol_table (); statistics_early_init (); debuginfo_early_init ();