summaryrefslogtreecommitdiffstats
path: root/libcxx/src
diff options
context:
space:
mode:
authorHoward Hinnant <hhinnant@apple.com>2013-07-23 16:05:56 +0000
committerHoward Hinnant <hhinnant@apple.com>2013-07-23 16:05:56 +0000
commit1468d0cec7676c4ed2a1982d05a640317eed13cd (patch)
treeefa9cbadc7181ed9f88726c86dcc328bc9ac3d64 /libcxx/src
parent440ab0e2aeddef8e3ac5a2147326b62f7eb1d998 (diff)
downloadbcm5719-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.cpp9
-rw-r--r--libcxx/src/locale.cpp2
-rw-r--r--libcxx/src/string.cpp2
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
}
OpenPOWER on IntegriCloud