mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-15 04:30:12 +00:00
Introduce a ScopedFatalErrorHandler class to make it easy to register
fatal error handlers which automatically get unregistered at the end of a scope. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111398 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
cf16bea74e
commit
e16068240e
@ -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