Use noexcept instead of _GLIBCXX_USE_NOEXCEPT

* libsupc++/eh_ptr.cc (exception_ptr): Replace _GLIBCXX_USE_NOEXCEPT
	with noexcept.

From-SVN: r240943
This commit is contained in:
Jonathan Wakely 2016-10-10 19:32:40 +01:00 committed by Jonathan Wakely
parent 71543388ee
commit a3dbb63597
2 changed files with 20 additions and 25 deletions

View File

@ -1,5 +1,8 @@
2016-10-10 Jonathan Wakely <jwakely@redhat.com> 2016-10-10 Jonathan Wakely <jwakely@redhat.com>
* libsupc++/eh_ptr.cc (exception_ptr): Replace _GLIBCXX_USE_NOEXCEPT
with noexcept.
* include/std/functional (_Bind_result::__enable_if_void): Use alias * include/std/functional (_Bind_result::__enable_if_void): Use alias
template instead of class template. template instead of class template.
(_Bind_result::__disable_if_void): Likewise. (_Bind_result::__disable_if_void): Likewise.

View File

@ -63,33 +63,31 @@ static_assert( adjptr<__cxa_exception>()
#endif #endif
} }
std::__exception_ptr::exception_ptr::exception_ptr() _GLIBCXX_USE_NOEXCEPT std::__exception_ptr::exception_ptr::exception_ptr() noexcept
: _M_exception_object(0) { } : _M_exception_object(0) { }
std::__exception_ptr::exception_ptr::exception_ptr(void* obj) std::__exception_ptr::exception_ptr::exception_ptr(void* obj) noexcept
_GLIBCXX_USE_NOEXCEPT
: _M_exception_object(obj) { _M_addref(); } : _M_exception_object(obj) { _M_addref(); }
std::__exception_ptr::exception_ptr::exception_ptr(__safe_bool) std::__exception_ptr::exception_ptr::exception_ptr(__safe_bool) noexcept
_GLIBCXX_USE_NOEXCEPT
: _M_exception_object(0) { } : _M_exception_object(0) { }
std::__exception_ptr:: std::__exception_ptr::
exception_ptr::exception_ptr(const exception_ptr& other) _GLIBCXX_USE_NOEXCEPT exception_ptr::exception_ptr(const exception_ptr& other) noexcept
: _M_exception_object(other._M_exception_object) : _M_exception_object(other._M_exception_object)
{ _M_addref(); } { _M_addref(); }
std::__exception_ptr::exception_ptr::~exception_ptr() _GLIBCXX_USE_NOEXCEPT std::__exception_ptr::exception_ptr::~exception_ptr() noexcept
{ _M_release(); } { _M_release(); }
std::__exception_ptr::exception_ptr& std::__exception_ptr::exception_ptr&
std::__exception_ptr:: std::__exception_ptr::
exception_ptr::operator=(const exception_ptr& other) _GLIBCXX_USE_NOEXCEPT exception_ptr::operator=(const exception_ptr& other) noexcept
{ {
exception_ptr(other).swap(*this); exception_ptr(other).swap(*this);
return *this; return *this;
@ -97,7 +95,7 @@ exception_ptr::operator=(const exception_ptr& other) _GLIBCXX_USE_NOEXCEPT
void void
std::__exception_ptr::exception_ptr::_M_addref() _GLIBCXX_USE_NOEXCEPT std::__exception_ptr::exception_ptr::_M_addref() noexcept
{ {
if (_M_exception_object) if (_M_exception_object)
{ {
@ -109,7 +107,7 @@ std::__exception_ptr::exception_ptr::_M_addref() _GLIBCXX_USE_NOEXCEPT
void void
std::__exception_ptr::exception_ptr::_M_release() _GLIBCXX_USE_NOEXCEPT std::__exception_ptr::exception_ptr::_M_release() noexcept
{ {
if (_M_exception_object) if (_M_exception_object)
{ {
@ -128,13 +126,12 @@ std::__exception_ptr::exception_ptr::_M_release() _GLIBCXX_USE_NOEXCEPT
void* void*
std::__exception_ptr::exception_ptr::_M_get() const _GLIBCXX_USE_NOEXCEPT std::__exception_ptr::exception_ptr::_M_get() const noexcept
{ return _M_exception_object; } { return _M_exception_object; }
void void
std::__exception_ptr::exception_ptr::swap(exception_ptr &other) std::__exception_ptr::exception_ptr::swap(exception_ptr &other) noexcept
_GLIBCXX_USE_NOEXCEPT
{ {
void *tmp = _M_exception_object; void *tmp = _M_exception_object;
_M_exception_object = other._M_exception_object; _M_exception_object = other._M_exception_object;
@ -144,27 +141,24 @@ std::__exception_ptr::exception_ptr::swap(exception_ptr &other)
// Retained for compatibility with CXXABI_1.3. // Retained for compatibility with CXXABI_1.3.
void void
std::__exception_ptr::exception_ptr::_M_safe_bool_dummy() std::__exception_ptr::exception_ptr::_M_safe_bool_dummy() noexcept { }
_GLIBCXX_USE_NOEXCEPT { }
// Retained for compatibility with CXXABI_1.3. // Retained for compatibility with CXXABI_1.3.
bool bool
std::__exception_ptr::exception_ptr::operator!() const _GLIBCXX_USE_NOEXCEPT std::__exception_ptr::exception_ptr::operator!() const noexcept
{ return _M_exception_object == 0; } { return _M_exception_object == 0; }
// Retained for compatibility with CXXABI_1.3. // Retained for compatibility with CXXABI_1.3.
std::__exception_ptr::exception_ptr::operator __safe_bool() const std::__exception_ptr::exception_ptr::operator __safe_bool() const noexcept
_GLIBCXX_USE_NOEXCEPT
{ {
return _M_exception_object ? &exception_ptr::_M_safe_bool_dummy : 0; return _M_exception_object ? &exception_ptr::_M_safe_bool_dummy : 0;
} }
const std::type_info* const std::type_info*
std::__exception_ptr::exception_ptr::__cxa_exception_type() const std::__exception_ptr::exception_ptr::__cxa_exception_type() const noexcept
_GLIBCXX_USE_NOEXCEPT
{ {
__cxa_exception *eh = __get_exception_header_from_obj (_M_exception_object); __cxa_exception *eh = __get_exception_header_from_obj (_M_exception_object);
return eh->exceptionType; return eh->exceptionType;
@ -172,19 +166,17 @@ std::__exception_ptr::exception_ptr::__cxa_exception_type() const
bool std::__exception_ptr::operator==(const exception_ptr& lhs, bool std::__exception_ptr::operator==(const exception_ptr& lhs,
const exception_ptr& rhs) const exception_ptr& rhs) noexcept
_GLIBCXX_USE_NOEXCEPT
{ return lhs._M_exception_object == rhs._M_exception_object; } { return lhs._M_exception_object == rhs._M_exception_object; }
bool std::__exception_ptr::operator!=(const exception_ptr& lhs, bool std::__exception_ptr::operator!=(const exception_ptr& lhs,
const exception_ptr& rhs) const exception_ptr& rhs) noexcept
_GLIBCXX_USE_NOEXCEPT
{ return !(lhs == rhs);} { return !(lhs == rhs);}
std::exception_ptr std::exception_ptr
std::current_exception() _GLIBCXX_USE_NOEXCEPT std::current_exception() noexcept
{ {
__cxa_eh_globals *globals = __cxa_get_globals (); __cxa_eh_globals *globals = __cxa_get_globals ();
__cxa_exception *header = globals->caughtExceptions; __cxa_exception *header = globals->caughtExceptions;