summaryrefslogtreecommitdiffstats
path: root/contrib/libc++/include/exception
diff options
context:
space:
mode:
authordim <dim@FreeBSD.org>2015-09-16 22:26:52 +0000
committerdim <dim@FreeBSD.org>2015-09-16 22:26:52 +0000
commitea5248cdc11d47e16b420831d52143ca4afb904a (patch)
treeaaccdba1a8c990ea730287a164e76e70733b424a /contrib/libc++/include/exception
parent5cc32d7f18f18fb3a5f4155b7f748cc7be60d2da (diff)
parent50ffe587e08aebe69879f2e5b67ba1304ff781b3 (diff)
downloadFreeBSD-src-ea5248cdc11d47e16b420831d52143ca4afb904a.zip
FreeBSD-src-ea5248cdc11d47e16b420831d52143ca4afb904a.tar.gz
Update libc++ to 3.7.0 release.
Diffstat (limited to 'contrib/libc++/include/exception')
-rw-r--r--contrib/libc++/include/exception6
1 files changed, 5 insertions, 1 deletions
diff --git a/contrib/libc++/include/exception b/contrib/libc++/include/exception
index cad802e..5a905e7 100644
--- a/contrib/libc++/include/exception
+++ b/contrib/libc++/include/exception
@@ -48,7 +48,8 @@ terminate_handler set_terminate(terminate_handler f ) noexcept;
terminate_handler get_terminate() noexcept;
[[noreturn]] void terminate() noexcept;
-bool uncaught_exception() noexcept;
+bool uncaught_exception() noexcept;
+int uncaught_exceptions() noexcept; // C++17
typedef unspecified exception_ptr;
@@ -115,6 +116,7 @@ _LIBCPP_FUNC_VIS terminate_handler get_terminate() _NOEXCEPT;
_LIBCPP_NORETURN _LIBCPP_FUNC_VIS void terminate() _NOEXCEPT;
_LIBCPP_FUNC_VIS bool uncaught_exception() _NOEXCEPT;
+_LIBCPP_FUNC_VIS int uncaught_exceptions() _NOEXCEPT;
class _LIBCPP_TYPE_VIS exception_ptr;
@@ -193,6 +195,7 @@ void
throw_with_nested(_Tp&& __t, typename enable_if<
is_class<typename remove_reference<_Tp>::type>::value &&
!is_base_of<nested_exception, typename remove_reference<_Tp>::type>::value
+ && !__libcpp_is_final<typename remove_reference<_Tp>::type>::value
>::type* = 0)
#else // _LIBCPP_HAS_NO_RVALUE_REFERENCES
throw_with_nested (_Tp& __t, typename enable_if<
@@ -212,6 +215,7 @@ void
throw_with_nested(_Tp&& __t, typename enable_if<
!is_class<typename remove_reference<_Tp>::type>::value ||
is_base_of<nested_exception, typename remove_reference<_Tp>::type>::value
+ || __libcpp_is_final<typename remove_reference<_Tp>::type>::value
>::type* = 0)
#else // _LIBCPP_HAS_NO_RVALUE_REFERENCES
throw_with_nested (_Tp& __t, typename enable_if<
OpenPOWER on IntegriCloud