diff options
author | Howard Hinnant <hhinnant@apple.com> | 2013-07-23 16:05:56 +0000 |
---|---|---|
committer | Howard Hinnant <hhinnant@apple.com> | 2013-07-23 16:05:56 +0000 |
commit | 1468d0cec7676c4ed2a1982d05a640317eed13cd (patch) | |
tree | efa9cbadc7181ed9f88726c86dcc328bc9ac3d64 /libcxx/src | |
parent | 440ab0e2aeddef8e3ac5a2147326b62f7eb1d998 (diff) | |
download | bcm5719-llvm-1468d0cec7676c4ed2a1982d05a640317eed13cd.tar.gz bcm5719-llvm-1468d0cec7676c4ed2a1982d05a640317eed13cd.zip |
Add some friendly messages to libcxx calls to abort().
llvm-svn: 186951
Diffstat (limited to 'libcxx/src')
-rw-r--r-- | libcxx/src/exception.cpp | 9 | ||||
-rw-r--r-- | libcxx/src/locale.cpp | 2 | ||||
-rw-r--r-- | libcxx/src/string.cpp | 2 |
3 files changed, 13 insertions, 0 deletions
diff --git a/libcxx/src/exception.cpp b/libcxx/src/exception.cpp index 1d2f6b25979..d3e1b292d34 100644 --- a/libcxx/src/exception.cpp +++ b/libcxx/src/exception.cpp @@ -7,6 +7,7 @@ // //===----------------------------------------------------------------------===// #include <stdlib.h> +#include <stdio.h> #include "exception" @@ -88,12 +89,14 @@ terminate() _NOEXCEPT #endif // _LIBCPP_NO_EXCEPTIONS (*get_terminate())(); // handler should not return + printf("terminate_handler unexpectedly returned\n"); ::abort (); #ifndef _LIBCPP_NO_EXCEPTIONS } catch (...) { // handler should not throw exception + printf("terminate_handler unexpectedly threw an exception\n"); ::abort (); } #endif // _LIBCPP_NO_EXCEPTIONS @@ -109,6 +112,7 @@ bool uncaught_exception() _NOEXCEPT return __cxa_uncaught_exception(); #else // __APPLE__ #warning uncaught_exception not yet implemented + printf("uncaught_exception not yet implemented\n"); ::abort(); #endif // __APPLE__ } @@ -146,6 +150,7 @@ exception_ptr::~exception_ptr() _NOEXCEPT __cxa_decrement_exception_refcount(__ptr_); #else #warning exception_ptr not yet implemented + printf("exception_ptr not yet implemented\n"); ::abort(); #endif // __APPLE__ } @@ -157,6 +162,7 @@ exception_ptr::exception_ptr(const exception_ptr& other) _NOEXCEPT __cxa_increment_exception_refcount(__ptr_); #else #warning exception_ptr not yet implemented + printf("exception_ptr not yet implemented\n"); ::abort(); #endif // __APPLE__ } @@ -173,6 +179,7 @@ exception_ptr& exception_ptr::operator=(const exception_ptr& other) _NOEXCEPT return *this; #else // __APPLE__ #warning exception_ptr not yet implemented + printf("exception_ptr not yet implemented\n"); ::abort(); #endif // __APPLE__ } @@ -207,6 +214,7 @@ exception_ptr current_exception() _NOEXCEPT return ptr; #else // __APPLE__ #warning exception_ptr not yet implemented + printf("exception_ptr not yet implemented\n"); ::abort(); #endif // __APPLE__ } @@ -220,6 +228,7 @@ void rethrow_exception(exception_ptr p) terminate(); #else // __APPLE__ #warning exception_ptr not yet implemented + printf("exception_ptr not yet implemented\n"); ::abort(); #endif // __APPLE__ } diff --git a/libcxx/src/locale.cpp b/libcxx/src/locale.cpp index 47c406123f0..bf95732ed7d 100644 --- a/libcxx/src/locale.cpp +++ b/libcxx/src/locale.cpp @@ -31,6 +31,7 @@ #include <langinfo.h> #endif // _!WIN32 #include <stdlib.h> +#include <stdio.h> // On Linux, wint_t and wchar_t have different signed-ness, and this causes // lots of noise in the build log, but no bugs that I know of. @@ -1017,6 +1018,7 @@ ctype<char>::classic_table() _NOEXCEPT // Platform not supported: abort so the person doing the port knows what to // fix # warning ctype<char>::classic_table() is not implemented + printf("ctype<char>::classic_table() is not implemented\n"); abort(); return NULL; #endif diff --git a/libcxx/src/string.cpp b/libcxx/src/string.cpp index c6fe408ca1c..daed7d25973 100644 --- a/libcxx/src/string.cpp +++ b/libcxx/src/string.cpp @@ -16,6 +16,7 @@ #ifdef _WIN32 #include "support/win32/support.h" #endif // _WIN32 +#include <stdio.h> _LIBCPP_BEGIN_NAMESPACE_STD @@ -38,6 +39,7 @@ void throw_helper( const string& msg ) #ifndef _LIBCPP_NO_EXCEPTIONS throw T( msg ); #else + printf("%s\n", msg.c_str()); abort(); #endif } |