15 #ifndef LLVM_SUPPORT_ERRORHANDLING_H
16 #define LLVM_SUPPORT_ERRORHANDLING_H
27 const std::string& reason,
47 void *user_data =
nullptr);
57 void *user_data =
nullptr) {
73 bool gen_crash_diag =
true);
75 bool gen_crash_diag =
true);
77 bool gen_crash_diag =
true);
79 bool gen_crash_diag =
true);
98 #define llvm_unreachable(msg) \
99 ::llvm::llvm_unreachable_internal(msg, __FILE__, __LINE__)
100 #elif defined(LLVM_BUILTIN_UNREACHABLE)
101 #define llvm_unreachable(msg) LLVM_BUILTIN_UNREACHABLE
103 #define llvm_unreachable(msg) ::llvm::llvm_unreachable_internal()
LLVM_ATTRIBUTE_NORETURN void report_fatal_error(Error Err, bool gen_crash_diag=true)
Report a serious error, calling any installed error handler.
void(* fatal_error_handler_t)(void *user_data, const std::string &reason, bool gen_crash_diag)
An error handler callback.
void remove_fatal_error_handler()
Restores default error handling behaviour.
~ScopedFatalErrorHandler()
dot regions Print regions of function to dot file(with no function bodies)"
#define LLVM_ATTRIBUTE_NORETURN
LLVM_ATTRIBUTE_NORETURN void llvm_unreachable_internal(const char *msg=nullptr, const char *file=nullptr, unsigned line=0)
This function calls abort(), and prints the optional message to stderr.
ScopedFatalErrorHandler - This is a simple helper class which just calls install_fatal_error_handler ...
ScopedFatalErrorHandler(fatal_error_handler_t handler, void *user_data=nullptr)
void install_fatal_error_handler(fatal_error_handler_t handler, void *user_data=nullptr)
install_fatal_error_handler - Installs a new error handler to be used whenever a serious (non-recover...