N3189 Observers for the three handler functions
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@120712 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/include/exception b/include/exception
index 8456972..4871f41 100644
--- a/include/exception
+++ b/include/exception
@@ -40,10 +40,12 @@
typedef void (*unexpected_handler)();
unexpected_handler set_unexpected(unexpected_handler f ) throw();
+unexpected_handler get_unexpected() throw();
void unexpected [[noreturn]] ();
typedef void (*terminate_handler)();
terminate_handler set_terminate(terminate_handler f ) throw();
+terminate_handler get_terminate() throw();
void terminate [[noreturn]] ();
bool uncaught_exception() throw();
@@ -102,10 +104,12 @@
typedef void (*unexpected_handler)();
_LIBCPP_VISIBLE unexpected_handler set_unexpected(unexpected_handler) throw();
+_LIBCPP_VISIBLE unexpected_handler get_unexpected() throw();
_LIBCPP_VISIBLE void unexpected();
typedef void (*terminate_handler)();
_LIBCPP_VISIBLE terminate_handler set_terminate(terminate_handler) throw();
+_LIBCPP_VISIBLE terminate_handler get_terminate() throw();
_LIBCPP_VISIBLE void terminate() __attribute__((__noreturn__));
_LIBCPP_VISIBLE bool uncaught_exception() throw();
diff --git a/include/future b/include/future
index 73a6391..3be5f05 100644
--- a/include/future
+++ b/include/future
@@ -2297,6 +2297,8 @@
return shared_future<_R&>(_STD::move(*this));
}
+#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
+
inline _LIBCPP_INLINE_VISIBILITY
shared_future<void>
future<void>::share()
@@ -2304,6 +2306,8 @@
return shared_future<void>(_STD::move(*this));
}
+#endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES
+
_LIBCPP_END_NAMESPACE_STD
#endif // _LIBCPP_FUTURE
diff --git a/include/new b/include/new
index 4b3c4b8..68f0274 100644
--- a/include/new
+++ b/include/new
@@ -32,6 +32,7 @@
extern const nothrow_t nothrow;
typedef void (*new_handler)();
new_handler set_new_handler(new_handler new_p) throw();
+new_handler get_new_handler() throw();
} // std
@@ -85,6 +86,7 @@
extern _LIBCPP_VISIBLE const nothrow_t nothrow;
typedef void (*new_handler)();
_LIBCPP_VISIBLE new_handler set_new_handler(new_handler) throw();
+_LIBCPP_VISIBLE new_handler get_new_handler() throw();
} // std