[PATCH 3/6] Fix memory leaks in IPA devirt
Martin Liška
mliska@suse.cz
Thu Nov 26 21:04:00 GMT 2015
On 11/23/2015 11:29 PM, Trevor Saunders wrote:
> On Mon, Nov 23, 2015 at 02:48:37PM +0100, marxin wrote:
>> gcc/ChangeLog:
>>
>> 2015-11-20 Martin Liska <mliska@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
>>
>>
Hi.
There's v2 of the patch that reflects ideas suggested by Trevor.
Ready to be installed?
Thanks,
Martin
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0002-Fix-memory-leaks-in-IPA-devirt.patch
Type: text/x-patch
Size: 1771 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20151126/af871af8/attachment.bin>
More information about the Gcc-patches
mailing list