Remove tabs
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@111778 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
d2bb032075
commit
d510977c4d
@ -65,7 +65,7 @@ class _LIBCPP_EXCEPTION_ABI bad_alloc
|
||||
: public exception
|
||||
{
|
||||
public:
|
||||
bad_alloc() throw();
|
||||
bad_alloc() throw();
|
||||
virtual ~bad_alloc() throw();
|
||||
virtual const char* what() const throw();
|
||||
};
|
||||
|
@ -35,7 +35,7 @@ void
|
||||
std::unexpected()
|
||||
{
|
||||
(*__unexpected_handler)();
|
||||
// unexpected handler should not return
|
||||
// unexpected handler should not return
|
||||
std::terminate();
|
||||
}
|
||||
|
||||
@ -70,7 +70,7 @@ std::terminate()
|
||||
bool std::uncaught_exception() throw()
|
||||
{
|
||||
#if __APPLE__
|
||||
// on Darwin, there is a helper function so __cxa_get_globals is private
|
||||
// on Darwin, there is a helper function so __cxa_get_globals is private
|
||||
return __cxxabiapple::__cxa_uncaught_exception();
|
||||
#else // __APPLE__
|
||||
#warning uncaught_exception not yet implemented
|
||||
@ -107,8 +107,8 @@ exception_ptr::~exception_ptr()
|
||||
#if __APPLE__
|
||||
__cxxabiapple::__cxa_decrement_exception_refcount(__ptr_);
|
||||
#else
|
||||
#warning exception_ptr not yet implemented
|
||||
::abort();
|
||||
#warning exception_ptr not yet implemented
|
||||
::abort();
|
||||
#endif // __APPLE__
|
||||
}
|
||||
|
||||
@ -118,8 +118,8 @@ exception_ptr::exception_ptr(const exception_ptr& other)
|
||||
#if __APPLE__
|
||||
__cxxabiapple::__cxa_increment_exception_refcount(__ptr_);
|
||||
#else
|
||||
#warning exception_ptr not yet implemented
|
||||
::abort();
|
||||
#warning exception_ptr not yet implemented
|
||||
::abort();
|
||||
#endif // __APPLE__
|
||||
}
|
||||
|
||||
@ -130,12 +130,12 @@ exception_ptr& exception_ptr::operator=(const exception_ptr& other)
|
||||
{
|
||||
__cxxabiapple::__cxa_increment_exception_refcount(other.__ptr_);
|
||||
__cxxabiapple::__cxa_decrement_exception_refcount(__ptr_);
|
||||
__ptr_ = other.__ptr_;
|
||||
}
|
||||
__ptr_ = other.__ptr_;
|
||||
}
|
||||
return *this;
|
||||
#else // __APPLE__
|
||||
#warning exception_ptr not yet implemented
|
||||
::abort();
|
||||
#warning exception_ptr not yet implemented
|
||||
::abort();
|
||||
#endif // __APPLE__
|
||||
}
|
||||
|
||||
@ -161,26 +161,26 @@ nested_exception::rethrow_nested /*[[noreturn]]*/ () const
|
||||
std::exception_ptr std::current_exception()
|
||||
{
|
||||
#if __APPLE__
|
||||
// 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());
|
||||
// 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;
|
||||
ptr.__ptr_ = __cxxabiapple::__cxa_current_primary_exception();
|
||||
return ptr;
|
||||
#else // __APPLE__
|
||||
#warning exception_ptr not yet implemented
|
||||
::abort();
|
||||
#warning exception_ptr not yet implemented
|
||||
::abort();
|
||||
#endif // __APPLE__
|
||||
}
|
||||
|
||||
void std::rethrow_exception(exception_ptr p)
|
||||
{
|
||||
#if __APPLE__
|
||||
__cxxabiapple::__cxa_rethrow_primary_exception(p.__ptr_);
|
||||
// if p.__ptr_ is NULL, above returns so we terminate
|
||||
__cxxabiapple::__cxa_rethrow_primary_exception(p.__ptr_);
|
||||
// if p.__ptr_ is NULL, above returns so we terminate
|
||||
terminate();
|
||||
#else // __APPLE__
|
||||
#warning exception_ptr not yet implemented
|
||||
::abort();
|
||||
#warning exception_ptr not yet implemented
|
||||
::abort();
|
||||
#endif // __APPLE__
|
||||
}
|
||||
|
@ -14,11 +14,11 @@
|
||||
#if __APPLE__
|
||||
#include <cxxabi.h>
|
||||
// On Darwin, there are two STL shared libraries and a lower level ABI
|
||||
// shared libray. The global holding the current new handler is
|
||||
// shared libray. The global holding the current new handler is
|
||||
// in the ABI library and named __cxa_new_handler.
|
||||
#define __new_handler __cxxabiapple::__cxa_new_handler
|
||||
#else // __APPLE__
|
||||
static std::new_handler __new_handler;
|
||||
static std::new_handler __new_handler;
|
||||
#endif
|
||||
|
||||
// Implement all new and delete operators as weak definitions
|
||||
@ -34,8 +34,8 @@ operator new(std::size_t size) throw (std::bad_alloc)
|
||||
void* p;
|
||||
while ((p = ::malloc(size)) == 0)
|
||||
{
|
||||
// If malloc fails and there is a new_handler,
|
||||
// call it to try free up memory.
|
||||
// If malloc fails and there is a new_handler,
|
||||
// call it to try free up memory.
|
||||
if (__new_handler)
|
||||
__new_handler();
|
||||
else
|
||||
|
@ -23,13 +23,13 @@ void f3()
|
||||
|
||||
int main()
|
||||
{
|
||||
std::unexpected_handler old = std::set_unexpected(f1);
|
||||
std::unexpected_handler old = std::set_unexpected(f1);
|
||||
// verify there is a previous unexpected handler
|
||||
assert(old);
|
||||
// verify f1 was replace with f2
|
||||
assert(old);
|
||||
// verify f1 was replace with f2
|
||||
assert(std::set_unexpected(f2) == f1);
|
||||
// verify calling original unexpected handler calls terminate
|
||||
std::set_terminate(f3);
|
||||
(*old)();
|
||||
assert(0);
|
||||
// verify calling original unexpected handler calls terminate
|
||||
std::set_terminate(f3);
|
||||
(*old)();
|
||||
assert(0);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user