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
 
