On Tue, Jan 21, 2025 at 05:21:52PM -0500, Jason Merrill wrote: > > + v should be initialized with make_tree_vector (); followed by > > + vec_safe_reserve (v, nelts); or equivalently vec_alloc (v, nelts); > > + optionally followed by pushes of other elements (up to > > + nelts - CONSTRUCTOR_NELTS (ctor)). */ > > vec<tree, va_gc> * > > -make_tree_vector_from_ctor (tree ctor) > > +append_ctor_to_tree_vector (vec<tree, va_gc> *v, tree ctor) > > { > > - vec<tree,va_gc> *ret = make_tree_vector (); > > - unsigned nelts = CONSTRUCTOR_NELTS (ctor); > > - vec_safe_reserve (ret, CONSTRUCTOR_NELTS (ctor)); > > I think we can/should still have > > vec_safe_reserve (v, CONSTRUCTOR_NELTS (ctor)); > > here, to place fewer requirements on callers; if it's redundant it will just > return.
Ok, will add that and test. Jakub