https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120931
--- Comment #3 from Andrew Pinski <pinskia at gcc dot gnu.org> --- I suspect r15-4473-g3abe751ea86e34. I am not 100% sure but I think it is a copy and pasto: ``` // Overload for generic iterators. template<typename _ForwardIterator, typename _Tp> static void __uninit_fill(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __x) { if (__unwrappable_niter<_ForwardIterator>::__value) __uninit_fill(std::__niter_base(__first), std::__niter_base(__last), __x); else std::__do_uninit_copy(__first, __last, __x); } ``` That __do_uninit_copy should be __do_uninit_fill instead.