diff options
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/lto/ChangeLog | 8 | ||||
-rw-r--r-- | gcc/lto/lto-dump.c | 19 |
2 files changed, 25 insertions, 2 deletions
diff --git a/gcc/lto/ChangeLog b/gcc/lto/ChangeLog index 95b98ab..ad14ac6 100644 --- a/gcc/lto/ChangeLog +++ b/gcc/lto/ChangeLog @@ -1,3 +1,11 @@ +2019-06-27 Martin Liska <mliska@suse.cz> + + * lto-dump.c (struct symbol_entry): Add default dtor. + (struct variable_entry): Likewise. + (struct function_entry): Likewise. + (dump_list_functions): Release memory. + (dump_list_variables): Likewise. + 2019-06-24 Jan Hubicka <jh@suse.cz> * lto-common.c (compare_tree_sccs_1): Compare CXX_ODR_P; diff --git a/gcc/lto/lto-dump.c b/gcc/lto/lto-dump.c index 691d109..e9de33c 100644 --- a/gcc/lto/lto-dump.c +++ b/gcc/lto/lto-dump.c @@ -44,6 +44,9 @@ struct symbol_entry symbol_entry (symtab_node *node_): node (node_) {} + virtual ~symbol_entry () + {} + char* get_name () const { if (flag_lto_dump_demangle) @@ -72,6 +75,9 @@ struct variable_entry: public symbol_entry variable_entry (varpool_node *node_): symbol_entry (node_) {} + virtual ~variable_entry () + {} + virtual size_t get_size () const { varpool_node *vnode = dyn_cast<varpool_node *> (node); @@ -99,6 +105,9 @@ struct function_entry: public symbol_entry function_entry (cgraph_node *node_): symbol_entry (node_) {} + virtual ~function_entry () + {} + virtual void dump () { symbol_entry :: dump (); @@ -166,7 +175,10 @@ void dump_list_functions (void) int i=0; symbol_entry* e; FOR_EACH_VEC_ELT (v, i, e) - e->dump (); + { + e->dump (); + delete e; + } } /* Dump list of variables and their details. */ @@ -194,7 +206,10 @@ void dump_list_variables (void) int i=0; symbol_entry* e; FOR_EACH_VEC_ELT (v, i, e) - e->dump (); + { + e->dump (); + delete e; + } } /* Dump symbol list. */ |