LLVM  4.0.0
Functions | Variables
ErrorHandling.cpp File Reference
#include "llvm/Support/ErrorHandling.h"
#include "llvm-c/ErrorHandling.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/ADT/Twine.h"
#include "llvm/Config/config.h"
#include "llvm/Support/Debug.h"
#include "llvm/Support/Errc.h"
#include "llvm/Support/Error.h"
#include "llvm/Support/ManagedStatic.h"
#include "llvm/Support/Mutex.h"
#include "llvm/Support/MutexGuard.h"
#include "llvm/Support/Signals.h"
#include "llvm/Support/Threading.h"
#include "llvm/Support/WindowsError.h"
#include "llvm/Support/raw_ostream.h"
#include <cassert>
#include <cstdlib>
#include <unistd.h>
Include dependency graph for ErrorHandling.cpp:

Go to the source code of this file.

Functions

static void bindingsErrorHandler (void *user_data, const std::string &reason, bool gen_crash_diag)
 
void LLVMInstallFatalErrorHandler (LLVMFatalErrorHandler Handler)
 Install a fatal error handler. More...
 
void LLVMResetFatalErrorHandler ()
 Reset the fatal error handler. More...
 

Variables

static fatal_error_handler_t ErrorHandler = nullptr
 
static void * ErrorHandlerUserData = nullptr
 
static ManagedStatic< sys::MutexErrorHandlerMutex
 

Function Documentation

static void bindingsErrorHandler ( void *  user_data,
const std::string &  reason,
bool  gen_crash_diag 
)
static

Definition at line 126 of file ErrorHandling.cpp.

References LLVM_EXTENSION.

Referenced by LLVMInstallFatalErrorHandler().

void LLVMInstallFatalErrorHandler ( LLVMFatalErrorHandler  Handler)

Install a fatal error handler.

By default, if LLVM detects a fatal error, it will call exit(1). This may not be appropriate in many contexts. For example, doing exit(1) will bypass many crash reporting/tracing system tools. This function allows you to install a callback that will be invoked prior to the call to exit(1).

Definition at line 133 of file ErrorHandling.cpp.

References bindingsErrorHandler(), llvm::install_fatal_error_handler(), and LLVM_EXTENSION.

void LLVMResetFatalErrorHandler ( void  )

Reset the fatal error handler.

This resets LLVM's fatal error handling behavior to the default.

Definition at line 138 of file ErrorHandling.cpp.

References llvm::remove_fatal_error_handler().

Variable Documentation

fatal_error_handler_t ErrorHandler = nullptr
static
ManagedStatic<sys::Mutex> ErrorHandlerMutex
static
void* ErrorHandlerUserData = nullptr
static