Commit 019f36a6 by Jan Hubicka Committed by Jan Hubicka

re PR middle-end/92037 (LTO bootstrap broken in selftests)

	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
parent 9142736e
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> 2019-10-10 Andreas Krebbel <krebbel@linux.ibm.com>
* common/config/s390/s390-common.c (PF_ARCH13): Rename to... * common/config/s390/s390-common.c (PF_ARCH13): Rename to...
......
...@@ -3835,7 +3835,7 @@ symbol_table_test::symbol_table_test () ...@@ -3835,7 +3835,7 @@ symbol_table_test::symbol_table_test ()
{ {
gcc_assert (saved_symtab == NULL); gcc_assert (saved_symtab == NULL);
saved_symtab = symtab; 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. */ /* Destructor. Restore the old value of symtab. */
......
...@@ -2095,9 +2095,19 @@ public: ...@@ -2095,9 +2095,19 @@ public:
friend struct cgraph_node; friend struct cgraph_node;
friend struct cgraph_edge; friend struct cgraph_edge;
symbol_table (): cgraph_max_uid (1), cgraph_max_summary_id (0), symbol_table ():
edges_max_uid (1), edges_max_summary_id (0), cgraph_count (0), cgraph_max_uid (1), cgraph_max_summary_id (0),
cgraph_released_summary_ids (), edge_released_summary_ids () 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: ...@@ -2343,6 +2353,9 @@ public:
/* Vector of released summary IDS for cgraph nodes. */ /* Vector of released summary IDS for cgraph nodes. */
vec<int> GTY ((skip)) edge_released_summary_ids; 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; symtab_node* GTY(()) nodes;
asm_node* GTY(()) asmnodes; asm_node* GTY(()) asmnodes;
asm_node* GTY(()) asm_last_node; asm_node* GTY(()) asm_last_node;
...@@ -2372,9 +2385,6 @@ public: ...@@ -2372,9 +2385,6 @@ public:
FILE* GTY ((skip)) dump_file; 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; FILE* GTY ((skip)) ipa_clones_dump_file;
hash_set <const cgraph_node *> GTY ((skip)) cloned_nodes; hash_set <const cgraph_node *> GTY ((skip)) cloned_nodes;
......
...@@ -1170,7 +1170,7 @@ general_init (const char *argv0, bool init_signals) ...@@ -1170,7 +1170,7 @@ general_init (const char *argv0, bool init_signals)
/* Create the passes. */ /* Create the passes. */
g->set_passes (new gcc::pass_manager (g)); 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 (); statistics_early_init ();
debuginfo_early_init (); debuginfo_early_init ();
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment