On Mon, Nov 23, 2015 at 02:48:37PM +0100, marxin wrote: > gcc/ChangeLog: > > 2015-11-20 Martin Liska <mli...@suse.cz> > > * ipa-devirt.c (ipa_devirt): Use auto_vec instead > of a local-scope vec. Release final_warning_records. > --- > gcc/ipa-devirt.c | 5 +++-- > 1 file changed, 3 insertions(+), 2 deletions(-) > > diff --git a/gcc/ipa-devirt.c b/gcc/ipa-devirt.c > index e74f853..6003c92 100644 > --- a/gcc/ipa-devirt.c > +++ b/gcc/ipa-devirt.c > @@ -3837,7 +3837,7 @@ ipa_devirt (void) > > if (warn_suggest_final_methods) > { > - vec<const decl_warn_count*> decl_warnings_vec = vNULL; > + auto_vec<const decl_warn_count*> decl_warnings_vec; > > final_warning_records->decl_warnings.traverse > <vec<const decl_warn_count *> *, add_decl_warning> > (&decl_warnings_vec); > @@ -3887,7 +3887,8 @@ ipa_devirt (void) > decl, count, dyn_count); > } > } > - > + > + final_warning_records->type_warnings.release (); > delete (final_warning_records);
You should be able to just make final_warning_record::type_warnings an auto_vec right? that seems less error prone, though this is certainly fine for now. Trev > final_warning_records = 0; > } > -- > 2.6.3 > >