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
> 
> 

Reply via email to