[Bug c++/49045] [C++0x] unexpected "different exception specifier" error with noexcept
jason at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Wed May 18 18:42:00 GMT 2011
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49045
--- Comment #4 from Jason Merrill <jason at gcc dot gnu.org> 2011-05-18 18:21:39 UTC ---
A workaround would be to use a forwarding function:
template<typename _Tp>
void
swap(_Tp&, _Tp&);
template<class T>
void __do_swap(T&& a,T&& b) { swap(a,b); }
template<typename _Tp, __SIZE_TYPE__ _Nm>
void
swap(_Tp (&__a)[_Nm], _Tp (&__b)[_Nm])
noexcept(noexcept(__do_swap(*__a, *__b)));
template<typename _Tp, __SIZE_TYPE__ _Nm>
void
swap(_Tp (&__a)[_Nm], _Tp (&__b)[_Nm])
noexcept(noexcept(__do_swap(*__a, *__b)))
{ }
More information about the Gcc-bugs
mailing list