libstdc++: Fix versioned namespace build

    libstdc++-v3/ChangeLog:

            * libsupc++/eh_ptr.cc (exception_ptr(__safe_bool)): Define if
            _GLIBCXX_EH_PTR_COMPAT is defined.
            (exception_ptr::_M_safe_bool_dummy()): Likewise.
            (exception_ptr::operator!()): Likewise.
            (exception_ptr::opeerator __safe_bool()): Likewise.

Ok to commit ?

François

diff --git a/libstdc++-v3/libsupc++/eh_ptr.cc b/libstdc++-v3/libsupc++/eh_ptr.cc
index 5d8ac1d879a..80999f52795 100644
--- a/libstdc++-v3/libsupc++/eh_ptr.cc
+++ b/libstdc++-v3/libsupc++/eh_ptr.cc
@@ -72,9 +72,12 @@ std::__exception_ptr::exception_ptr::exception_ptr(void* obj) noexcept
 : _M_exception_object(obj)  { _M_addref(); }
 
 
+#ifdef _GLIBCXX_EH_PTR_COMPAT
+
 std::__exception_ptr::exception_ptr::exception_ptr(__safe_bool) noexcept
 : _M_exception_object(nullptr) { }
 
+#endif
 
 void
 std::__exception_ptr::exception_ptr::_M_addref() noexcept
@@ -112,6 +115,7 @@ std::__exception_ptr::exception_ptr::_M_get() const noexcept
 { return _M_exception_object; }
 
 
+#ifdef _GLIBCXX_EH_PTR_COMPAT
 
 // Retained for compatibility with CXXABI_1.3.
 void
@@ -130,6 +134,8 @@ std::__exception_ptr::exception_ptr::operator __safe_bool() const noexcept
   return _M_exception_object ? &exception_ptr::_M_safe_bool_dummy : nullptr;
 }
 
+#endif
+
 const std::type_info*
 std::__exception_ptr::exception_ptr::__cxa_exception_type() const noexcept
 {

Reply via email to