aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMikael Morin <mikael@gcc.gnu.org>2023-09-02 12:55:25 +0200
committerMikael Morin <mikael@gcc.gnu.org>2023-09-02 12:55:25 +0200
commit474473f0425b404cd3ce15e73844de4608ac4ba7 (patch)
tree5381550779d133f44bba928777459a1be0acacd1
parent4e2d53c943400e8b5d49a7d5aab4a1ad046aefba (diff)
downloadgcc-474473f0425b404cd3ce15e73844de4608ac4ba7.zip
gcc-474473f0425b404cd3ce15e73844de4608ac4ba7.tar.gz
gcc-474473f0425b404cd3ce15e73844de4608ac4ba7.tar.bz2
diagnostics: Delete config pointer before overwriting it
Delete m_client_data_hooks before it is reassigned in tree_diagnostics_defaults. This fixes a small memory leak in the fortran frontend, which restores the diagnostics configurations to their default values with a call to tree_diagnostics_defaults at the end of the main parse hook. gcc/ChangeLog: * tree-diagnostic.cc (tree_diagnostics_defaults): Delete allocated pointer before overwriting it.
-rw-r--r--gcc/tree-diagnostic.cc1
1 files changed, 1 insertions, 0 deletions
diff --git a/gcc/tree-diagnostic.cc b/gcc/tree-diagnostic.cc
index 731e355..d2f6637 100644
--- a/gcc/tree-diagnostic.cc
+++ b/gcc/tree-diagnostic.cc
@@ -377,5 +377,6 @@ tree_diagnostics_defaults (diagnostic_context *context)
context->print_path = default_tree_diagnostic_path_printer;
context->make_json_for_path = default_tree_make_json_for_path;
context->set_locations_cb = set_inlining_locations;
+ delete context->m_client_data_hooks;
context->m_client_data_hooks = make_compiler_data_hooks ();
}