On Mon, May 6, 2019 at 12:32 PM Marek Polacek <pola...@redhat.com> wrote: > > This new code > > vec_safe_push (call_args, (*call_args)[nargs-1]); > > doesn't seem to work well because "obj" points to garbage after the > vec_safe_reserve > call: > > template<typename T, typename A> > inline T * > vec_safe_push (vec<T, A, vl_embed> *&v, const T &obj CXX_MEM_STAT_INFO) > { > vec_safe_reserve (v, 1, false PASS_MEM_STAT); > return v->quick_push (obj); > }
Ah, sneaky pass by reference. > But using a dedicated variable works even when vec_safe_reserve actually > extends. > > Bootstrapped/regtested on x86_64-linux, ok for trunk/9? OK, thanks. Jason