18 #include "llvm/Config/config.h"
27 #if defined(HAVE_UNISTD_H)
43 "Cannot register error handlers after starting multithreaded mode!\n");
44 assert(!
ErrorHandler &&
"Error handler already registered!\n");
74 OS <<
"LLVM ERROR: " << Reason <<
"\n";
94 dbgs() << msg <<
"\n";
95 dbgs() <<
"UNREACHABLE executed";
97 dbgs() <<
" at " << file <<
":" << line;
100 #ifdef LLVM_BUILTIN_UNREACHABLE
103 LLVM_BUILTIN_UNREACHABLE;
108 bool gen_crash_diag) {
111 handler(reason.c_str());
size_t size() const
size - Get the string size.
static void bindingsErrorHandler(void *user_data, const std::string &reason, bool gen_crash_diag)
LLVM_ATTRIBUTE_NORETURN void report_fatal_error(const char *reason, bool gen_crash_diag=true)
static void * ErrorHandlerUserData
void LLVMResetFatalErrorHandler()
std::string str() const
str - Return the twine contents as a std::string.
LLVM_ATTRIBUTE_NORETURN void llvm_unreachable_internal(const char *msg=0, const char *file=0, unsigned line=0)
void(* fatal_error_handler_t)(void *user_data, const std::string &reason, bool gen_crash_diag)
An error handler callback.
static fatal_error_handler_t ErrorHandler
void install_fatal_error_handler(fatal_error_handler_t handler, void *user_data=0)
const char * data() const
void remove_fatal_error_handler()
void(* LLVMFatalErrorHandler)(const char *Reason)
bool llvm_is_multithreaded()
void RunInterruptHandlers()
raw_ostream & dbgs()
dbgs - Return a circular-buffered debug stream.
ssize_t write(int fildes, const void *buf, size_t nbyte);
void LLVMInstallFatalErrorHandler(LLVMFatalErrorHandler Handler)