diff options
author | Martin Liska <mliska@suse.cz> | 2019-06-27 10:21:32 +0200 |
---|---|---|
committer | Martin Liska <marxin@gcc.gnu.org> | 2019-06-27 08:21:32 +0000 |
commit | c2f7a665a184e4ff00a6ac3fc147f63f276cc5a5 (patch) | |
tree | 73d8a4968841119728532fccadcef88a226783c5 /gcc | |
parent | b5b31291bd21749edc3d1f1d74ac09fcb6a89310 (diff) | |
download | gcc-c2f7a665a184e4ff00a6ac3fc147f63f276cc5a5.zip gcc-c2f7a665a184e4ff00a6ac3fc147f63f276cc5a5.tar.gz gcc-c2f7a665a184e4ff00a6ac3fc147f63f276cc5a5.tar.bz2 |
Fix misc stuff seen by clang-static-analyzer.
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-27 Martin Liska <mliska@suse.cz>
* libgcov-util.c (gcov_profile_merge): Release allocated
memory.
(calculate_overlap): Likewise.
From-SVN: r272733
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. */ |