aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Malcolm <dmalcolm@redhat.com>2017-06-02 17:07:37 +0000
committerDavid Malcolm <dmalcolm@gcc.gnu.org>2017-06-02 17:07:37 +0000
commit0cbae4a7a23c0faf9c1e14ebd07e7b137b9b6792 (patch)
treef21b928c4c700f6230710d8b705a49873212fbd0
parent38a75ccc89c52173f58b315952b36a42ba1feee8 (diff)
downloadgcc-0cbae4a7a23c0faf9c1e14ebd07e7b137b9b6792.zip
gcc-0cbae4a7a23c0faf9c1e14ebd07e7b137b9b6792.tar.gz
gcc-0cbae4a7a23c0faf9c1e14ebd07e7b137b9b6792.tar.bz2
Fix segfault in free_growth_caches (PR jit/80954)
gcc/ChangeLog: PR jit/80954 * ipa-inline-analysis.c (free_growth_caches): Set edge_removal_hook_holder to NULL after removing it. From-SVN: r248841
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/ipa-inline-analysis.c5
2 files changed, 10 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 070bb8f..308dd1a 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2017-06-02 David Malcolm <dmalcolm@redhat.com>
+
+ PR jit/80954
+ * ipa-inline-analysis.c (free_growth_caches): Set
+ edge_removal_hook_holder to NULL after removing it.
+
2017-06-02 Sudakshina Das <sudi.das@arm.com>
* config/aarch64/aarch64.c (aarch64_select_cc_mode): Return CC_SWP for
diff --git a/gcc/ipa-inline-analysis.c b/gcc/ipa-inline-analysis.c
index f562ca5..9f7b2a1 100644
--- a/gcc/ipa-inline-analysis.c
+++ b/gcc/ipa-inline-analysis.c
@@ -110,7 +110,10 @@ void
free_growth_caches (void)
{
if (edge_removal_hook_holder)
- symtab->remove_edge_removal_hook (edge_removal_hook_holder);
+ {
+ symtab->remove_edge_removal_hook (edge_removal_hook_holder);
+ edge_removal_hook_holder = NULL;
+ }
edge_growth_cache.release ();
}