diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 2f485b1423d..ff7e2dad426 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,7 @@ +2011-06-06 Paolo Carlini + + * include/bits/move.h (move_if_noexcept): Use __and_ and __not_. + 2011-06-05 Jonathan Wakely * include/bits/ptr_traits.h (pointer_traits): Fix typos. diff --git a/libstdc++-v3/include/bits/move.h b/libstdc++-v3/include/bits/move.h index ca7686eb162..6f3b420640d 100644 --- a/libstdc++-v3/include/bits/move.h +++ b/libstdc++-v3/include/bits/move.h @@ -90,8 +90,8 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION */ template inline typename - conditional<(!is_nothrow_move_constructible<_Tp>::value - && is_copy_constructible<_Tp>::value), + conditional<__and_<__not_>, + is_copy_constructible<_Tp>>::value, const _Tp&, _Tp&&>::type move_if_noexcept(_Tp& __x) noexcept { return std::move(__x); }