From 91bb571d200e551f427e337e00494e0b4f229876 Mon Sep 17 00:00:00 2001 From: Jason Merrill Date: Tue, 13 Jul 2021 14:42:09 -0400 Subject: vec: use auto_vec in a few more places The uses of vec in get_all_loop_exits and process_conditional were memory leaks, as .release() was never called for them. The other changes are some cases that did have proper release handling, but it's simpler to leave releasing to the auto_vec destructor. gcc/ChangeLog: * sel-sched-ir.h (get_all_loop_exits): Use auto_vec. gcc/cp/ChangeLog: * class.c (struct find_final_overrider_data): Use auto_vec. (find_final_overrider): Remove explicit release. * coroutines.cc (process_conditional): Use auto_vec. * cp-gimplify.c (struct cp_genericize_data): Use auto_vec. (cp_genericize_tree): Remove explicit release. * parser.c (cp_parser_objc_at_property_declaration): Use auto_delete_vec. * semantics.c (omp_reduction_lookup): Use auto_vec. --- gcc/cp/class.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) (limited to 'gcc/cp/class.c') diff --git a/gcc/cp/class.c b/gcc/cp/class.c index 33093e1..14db066 100644 --- a/gcc/cp/class.c +++ b/gcc/cp/class.c @@ -2391,7 +2391,7 @@ struct find_final_overrider_data { /* The candidate overriders. */ tree candidates; /* Path to most derived. */ - vec path; + auto_vec path; }; /* Add the overrider along the current path to FFOD->CANDIDATES. @@ -2504,8 +2504,6 @@ find_final_overrider (tree derived, tree binfo, tree fn) dfs_walk_all (derived, dfs_find_final_overrider_pre, dfs_find_final_overrider_post, &ffod); - ffod.path.release (); - /* If there was no winner, issue an error message. */ if (!ffod.candidates || TREE_CHAIN (ffod.candidates)) return error_mark_node; -- cgit v1.1