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. --- 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