mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-25 04:02:41 +01:00
Introduce a ScopedFatalErrorHandler class to make it easy to register
fatal error handlers which automatically get unregistered at the end of a scope. llvm-svn: 111398
This commit is contained in:
parent
a94deec1c0
commit
9b5ed21492
@ -52,6 +52,18 @@ namespace llvm {
|
|||||||
/// llvm_stop_multithreaded().
|
/// llvm_stop_multithreaded().
|
||||||
void remove_fatal_error_handler();
|
void remove_fatal_error_handler();
|
||||||
|
|
||||||
|
/// ScopedFatalErrorHandler - This is a simple helper class which just
|
||||||
|
/// calls install_fatal_error_handler in its constructor and
|
||||||
|
/// remove_fatal_error_handler in its destructor.
|
||||||
|
struct ScopedFatalErrorHandler {
|
||||||
|
explicit ScopedFatalErrorHandler(fatal_error_handler_t handler,
|
||||||
|
void *user_data = 0) {
|
||||||
|
install_fatal_error_handler(handler, user_data);
|
||||||
|
}
|
||||||
|
|
||||||
|
~ScopedFatalErrorHandler() { remove_fatal_error_handler(); }
|
||||||
|
};
|
||||||
|
|
||||||
/// Reports a serious error, calling any installed error handler. These
|
/// Reports a serious error, calling any installed error handler. These
|
||||||
/// functions are intended to be used for error conditions which are outside
|
/// functions are intended to be used for error conditions which are outside
|
||||||
/// the control of the compiler (I/O errors, invalid user input, etc.)
|
/// the control of the compiler (I/O errors, invalid user input, etc.)
|
||||||
|
Loading…
Reference in New Issue
Block a user