/* The candidate overriders. */
tree candidates;
/* Path to most derived. */
- vec<tree> path;
+ auto_vec<tree> path;
};
/* Add the overrider along the current path to FFOD->CANDIDATES.
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;
{
tree init = n->init;
hash_map<tree, tree> var_flags;
- vec<tree> var_list = vNULL;
+ auto_vec<tree> var_list;
tree new_then = push_stmt_list ();
handle_nested_conditionals (n->then_cl, var_list, var_flags);
new_then = pop_stmt_list (new_then);
struct cp_genericize_data
{
hash_set<tree> *p_set;
- vec<tree> bind_expr_stack;
+ auto_vec<tree> bind_expr_stack;
struct cp_genericize_omp_taskreg *omp_ctx;
tree try_block;
bool no_sanitize_p;
wtd.handle_invisiref_parm_p = handle_invisiref_parm_p;
cp_walk_tree (t_p, cp_genericize_r, &wtd, NULL);
delete wtd.p_set;
- wtd.bind_expr_stack.release ();
if (sanitize_flags_p (SANITIZE_VPTR))
cp_ubsan_instrument_member_accesses (t_p);
}
/* Parse the optional attribute list.
A list of parsed, but not verified, attributes. */
- vec<property_attribute_info *> prop_attr_list = vNULL;
+ auto_delete_vec<property_attribute_info> prop_attr_list;
location_t loc = cp_lexer_peek_token (parser->lexer)->location;
cp_lexer_consume_token (parser->lexer); /* Eat '@property'. */
}
cp_parser_consume_semicolon_at_end_of_statement (parser);
-
- while (!prop_attr_list.is_empty())
- delete prop_attr_list.pop ();
- prop_attr_list.release ();
}
/* Parse an Objective-C++ @synthesize declaration. The syntax is:
if (!id && CLASS_TYPE_P (type) && TYPE_BINFO (type))
{
- vec<tree> ambiguous = vNULL;
+ auto_vec<tree> ambiguous;
tree binfo = TYPE_BINFO (type), base_binfo, ret = NULL_TREE;
unsigned int ix;
if (ambiguousp == NULL)
if (idx == 0)
str = get_spaces (str);
}
- ambiguous.release ();
ret = error_mark_node;
baselink = NULL_TREE;
}
|| (inner_loop_header_p (e->dest)))
&& loop_depth (e->dest->loop_father) >= this_depth)
{
- vec<edge> next_exits = get_all_loop_exits (e->dest);
+ auto_vec<edge> next_exits = get_all_loop_exits (e->dest);
if (next_exits.exists ())
{