From 953971cf7dd11ab68caec04cae767f5dde656b23 Mon Sep 17 00:00:00 2001 From: David Malcolm Date: Thu, 4 Dec 2014 21:11:04 +0000 Subject: PR jit/63854: Fix leak of ipa hooks gcc/ChangeLog: PR jit/63854 * ipa-prop.c (ipa_register_cgraph_hooks): Guard insertion of ipa_add_new_function on function_insertion_hook_holder being non-NULL. * ipa-reference.c (ipa_reference_c_finalize): Remove node_removal_hook_holder and node_duplication_hook_holder if they've been added to symtab. * toplev.c (toplev::finalize): Call ipa_reference_c_finalize before cgraph_c_finalize so that the former can access "symtab". From-SVN: r218403 --- gcc/ipa-prop.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'gcc/ipa-prop.c') diff --git a/gcc/ipa-prop.c b/gcc/ipa-prop.c index c6e7868..eb83ae0 100644 --- a/gcc/ipa-prop.c +++ b/gcc/ipa-prop.c @@ -3613,7 +3613,8 @@ ipa_register_cgraph_hooks (void) if (!node_duplication_hook_holder) node_duplication_hook_holder = symtab->add_cgraph_duplication_hook (&ipa_node_duplication_hook, NULL); - function_insertion_hook_holder = + if (!function_insertion_hook_holder) + function_insertion_hook_holder = symtab->add_cgraph_insertion_hook (&ipa_add_new_function, NULL); } -- cgit v1.1