diff options
author | Paolo Carlini <paolo.carlini@oracle.com> | 2011-08-28 21:05:48 +0000 |
---|---|---|
committer | Paolo Carlini <paolo@gcc.gnu.org> | 2011-08-28 21:05:48 +0000 |
commit | 75f5cbb17be9159186a26070ab66587b01646fd8 (patch) | |
tree | dfbd51eb529a091379834a478a1fcff04caf9e3a /libstdc++-v3/include/bits/move.h | |
parent | 892a371f3b8c8ce79f59540908a8660cfc07f880 (diff) | |
download | gcc-75f5cbb17be9159186a26070ab66587b01646fd8.tar.gz |
move.h (swap(_Tp(&)[_Nm], _Tp(&)[_Nm])): Remove workaround for c++/49045.
2011-08-28 Paolo Carlini <paolo.carlini@oracle.com>
* include/bits/move.h (swap(_Tp(&)[_Nm], _Tp(&)[_Nm])): Remove
workaround for c++/49045.
* include/bits/algorithmfwd.h: Likewise.
From-SVN: r178147
Diffstat (limited to 'libstdc++-v3/include/bits/move.h')
-rw-r--r-- | libstdc++-v3/include/bits/move.h | 10 |
1 files changed, 1 insertions, 9 deletions
diff --git a/libstdc++-v3/include/bits/move.h b/libstdc++-v3/include/bits/move.h index 0af8fdac0b5..f5beb22bb8d 100644 --- a/libstdc++-v3/include/bits/move.h +++ b/libstdc++-v3/include/bits/move.h @@ -152,21 +152,13 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION __b = _GLIBCXX_MOVE(__tmp); } -#ifdef __GXX_EXPERIMENTAL_CXX0X__ - // To work around c++/49045. - template<typename _Tp> - struct __is_nothrow_swappable - { static const bool value = noexcept(swap(std::declval<_Tp&>(), - std::declval<_Tp&>())); }; -#endif - // _GLIBCXX_RESOLVE_LIB_DEFECTS // DR 809. std::swap should be overloaded for array types. template<typename _Tp, size_t _Nm> inline void swap(_Tp (&__a)[_Nm], _Tp (&__b)[_Nm]) #ifdef __GXX_EXPERIMENTAL_CXX0X__ - noexcept(__is_nothrow_swappable<_Tp>::value) + noexcept(noexcept(swap(*__a, *__b))) #endif { for (size_t __n = 0; __n < _Nm; ++__n) |