summaryrefslogtreecommitdiffstats
path: root/libcxx/src/exception.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'libcxx/src/exception.cpp')
-rw-r--r--libcxx/src/exception.cpp60
1 files changed, 25 insertions, 35 deletions
diff --git a/libcxx/src/exception.cpp b/libcxx/src/exception.cpp
index 7c5211534b4..5b3c39cf2be 100644
--- a/libcxx/src/exception.cpp
+++ b/libcxx/src/exception.cpp
@@ -18,14 +18,12 @@
// current unexpected handler are in the ABI library.
#define __terminate_handler __cxxabiapple::__cxa_terminate_handler
#define __unexpected_handler __cxxabiapple::__cxa_unexpected_handler
-#else
+#else // __APPLE__
static std::terminate_handler __terminate_handler;
static std::unexpected_handler __unexpected_handler;
-#endif
-
-
+#endif // __APPLE__
-std::unexpected_handler
+std::unexpected_handler
std::set_unexpected(std::unexpected_handler func) throw()
{
std::terminate_handler old = __unexpected_handler;
@@ -41,8 +39,7 @@ std::unexpected()
std::terminate();
}
-
-std::terminate_handler
+std::terminate_handler
std::set_terminate(std::terminate_handler func) throw()
{
std::terminate_handler old = __terminate_handler;
@@ -50,53 +47,49 @@ std::set_terminate(std::terminate_handler func) throw()
return old;
}
-
void
std::terminate()
{
#ifndef _LIBCPP_NO_EXCEPTIONS
try
{
-#endif
+#endif // _LIBCPP_NO_EXCEPTIONS
(*__terminate_handler)();
// handler should not return
::abort ();
#ifndef _LIBCPP_NO_EXCEPTIONS
- }
+ }
catch (...)
{
// handler should not throw exception
::abort ();
}
-#endif
+#endif // _LIBCPP_NO_EXCEPTIONS
}
-
bool std::uncaught_exception() throw()
{
#if __APPLE__
// on Darwin, there is a helper function so __cxa_get_globals is private
return __cxxabiapple::__cxa_uncaught_exception();
-#else
+#else // __APPLE__
#warning uncaught_exception not yet implemented
::abort();
// Not provided by Ubuntu gcc-4.2.4's cxxabi.h.
// __cxa_eh_globals * globals = __cxa_get_globals();
// return (globals->uncaughtExceptions != 0);
-#endif
+#endif // __APPLE__
}
-
-namespace std
+namespace std
{
-
-exception::~exception() throw()
-{
+exception::~exception() throw()
+{
}
-bad_exception::~bad_exception() throw()
-{
+bad_exception::~bad_exception() throw()
+{
}
const char* exception::what() const throw()
@@ -109,8 +102,6 @@ const char* bad_exception::what() const throw()
return "std::bad_exception";
}
-
-
exception_ptr::~exception_ptr()
{
#if __APPLE__
@@ -118,7 +109,7 @@ exception_ptr::~exception_ptr()
#else
#warning exception_ptr not yet implemented
::abort();
-#endif
+#endif // __APPLE__
}
exception_ptr::exception_ptr(const exception_ptr& other)
@@ -129,7 +120,7 @@ exception_ptr::exception_ptr(const exception_ptr& other)
#else
#warning exception_ptr not yet implemented
::abort();
-#endif
+#endif // __APPLE__
}
exception_ptr& exception_ptr::operator=(const exception_ptr& other)
@@ -142,10 +133,10 @@ exception_ptr& exception_ptr::operator=(const exception_ptr& other)
__ptr_ = other.__ptr_;
}
return *this;
-#else
+#else // __APPLE__
#warning exception_ptr not yet implemented
::abort();
-#endif
+#endif // __APPLE__
}
nested_exception::nested_exception()
@@ -167,30 +158,29 @@ nested_exception::rethrow_nested /*[[noreturn]]*/ () const
} // std
-
std::exception_ptr std::current_exception()
{
#if __APPLE__
- // be nicer if there was a constructor that took a ptr, then
+ // be nicer if there was a constructor that took a ptr, then
// this whole function would be just:
// return exception_ptr(__cxa_current_primary_exception());
std::exception_ptr ptr;
ptr.__ptr_ = __cxxabiapple::__cxa_current_primary_exception();
return ptr;
-#else
+#else // __APPLE__
#warning exception_ptr not yet implemented
::abort();
-#endif
+#endif // __APPLE__
}
void std::rethrow_exception(exception_ptr p)
{
#if __APPLE__
- __cxxabiapple::__cxa_rethrow_primary_exception(p.__ptr_);
+ __cxxabiapple::__cxa_rethrow_primary_exception(p.__ptr_);
// if p.__ptr_ is NULL, above returns so we terminate
- terminate();
-#else
+ terminate();
+#else // __APPLE__
#warning exception_ptr not yet implemented
::abort();
-#endif
+#endif // __APPLE__
}
OpenPOWER on IntegriCloud