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