re PR middle-end/92037 (LTO bootstrap broken in selftests)
authorJan Hubicka <hubicka@ucw.cz>
Thu, 10 Oct 2019 13:04:44 +0000 (15:04 +0200)
committerJan Hubicka <hubicka@gcc.gnu.org>
Thu, 10 Oct 2019 13:04:44 +0000 (13:04 +0000)
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.

From-SVN: r276804

gcc/ChangeLog
gcc/cgraph.c
gcc/cgraph.h
gcc/toplev.c

index 2e34b80..e97db14 100644 (file)
@@ -1,3 +1,11 @@
+2019-10-10  Jan Hubicka  <hubicka@ucw.cz>
+
+       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  <krebbel@linux.ibm.com>
 
        * common/config/s390/s390-common.c (PF_ARCH13): Rename to...
index 0c3c6e7..8b752d8 100644 (file)
@@ -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> ()) symbol_table ();
+  symtab = new (ggc_alloc <symbol_table> ()) symbol_table ();
 }
 
 /* Destructor.  Restore the old value of symtab.  */
index 73b2be6..733d616 100644 (file)
@@ -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<int> 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 <const cgraph_node *> GTY ((skip)) cloned_nodes;
index d741a66..b85d52c 100644 (file)
@@ -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> ()) symbol_table ();
+  symtab = new (ggc_alloc <symbol_table> ()) symbol_table ();
 
   statistics_early_init ();
   debuginfo_early_init ();