aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorMartin Sebor <msebor@redhat.com>2021-08-19 12:42:28 -0600
committerMartin Sebor <msebor@redhat.com>2021-08-19 12:42:28 -0600
commit81501087758cb0c32e555858cf367e449a09246e (patch)
treeac76fa9df1bee6c47996d0ef14fefb064fbcc01b /gcc
parentde0b250b2badb475f8c09f3cd2c57fd3f9127fe3 (diff)
downloadgcc-81501087758cb0c32e555858cf367e449a09246e.zip
gcc-81501087758cb0c32e555858cf367e449a09246e.tar.gz
gcc-81501087758cb0c32e555858cf367e449a09246e.tar.bz2
Release resources acquired by enable_ranger() [PR101984].
Resolves: PR middle-end/101984 - gimple-ssa-warn-access memory leak gcc/ChangeLog: PR middle-end/101984 * gimple-ssa-warn-access.cc (pass_waccess::execute): Also call disable_ranger.
Diffstat (limited to 'gcc')
-rw-r--r--gcc/gimple-ssa-warn-access.cc4
1 files changed, 4 insertions, 0 deletions
diff --git a/gcc/gimple-ssa-warn-access.cc b/gcc/gimple-ssa-warn-access.cc
index f3efe56..4a2dd9a 100644
--- a/gcc/gimple-ssa-warn-access.cc
+++ b/gcc/gimple-ssa-warn-access.cc
@@ -3310,12 +3310,16 @@ pass_waccess::check (basic_block bb)
unsigned
pass_waccess::execute (function *fun)
{
+ /* Create a new ranger instance and associate it with FUN. */
m_ranger = enable_ranger (fun);
basic_block bb;
FOR_EACH_BB_FN (bb, fun)
check (bb);
+ /* Release the ranger instance and replace it with a global ranger. */
+ disable_ranger (fun);
+
return 0;
}