On Mon, 15 Sep 2025, Jonathan Wakely wrote: > The _GLIBCXX_MAKE_MOVE_ITERATOR macro is needed for code that needs to > compile as C++98, where it just produces the original iterator. In > std::uninitialized_move and std::uninitialized_move_n we can just call > std::make_move_iterator directly. > > libstdc++-v3/ChangeLog: > > * include/bits/stl_uninitialized.h (uninitialized_move) > (uninitialized_move_n): Replace _GLIBCXX_MAKE_MOVE_ITERATOR with > std::make_move_iterator.
LGTM > --- > > Testing now on powerpc64le-linux. > > libstdc++-v3/include/bits/stl_uninitialized.h | 12 ++++++------ > 1 file changed, 6 insertions(+), 6 deletions(-) > > diff --git a/libstdc++-v3/include/bits/stl_uninitialized.h > b/libstdc++-v3/include/bits/stl_uninitialized.h > index 351c3a17457f..0398b65fa140 100644 > --- a/libstdc++-v3/include/bits/stl_uninitialized.h > +++ b/libstdc++-v3/include/bits/stl_uninitialized.h > @@ -1265,9 +1265,9 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION > uninitialized_move(_InputIterator __first, _InputIterator __last, > _ForwardIterator __result) > { > - return std::uninitialized_copy > - (_GLIBCXX_MAKE_MOVE_ITERATOR(__first), > - _GLIBCXX_MAKE_MOVE_ITERATOR(__last), __result); > + return std::uninitialized_copy(std::make_move_iterator(__first), > + std::make_move_iterator(__last), > + __result); > } > > /** > @@ -1284,9 +1284,9 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION > uninitialized_move_n(_InputIterator __first, _Size __count, > _ForwardIterator __result) > { > - auto __res = std::__uninitialized_copy_n_pair > - (_GLIBCXX_MAKE_MOVE_ITERATOR(__first), > - __count, __result); > + auto __res > + = std::__uninitialized_copy_n_pair(std::make_move_iterator(__first), > + __count, __result); > return {__res.first.base(), __res.second}; > } > #endif // __glibcxx_raw_memory_algorithms > -- > 2.51.0 > >