Project Alice
Loading...
Searching...
No Matches
Collaboration diagram for Error Handling:

Macros

#define LLVMErrorSuccess   0
 

Typedefs

typedef struct LLVMOpaqueError * LLVMErrorRef
 
typedef const void * LLVMErrorTypeId
 
typedef void(* LLVMFatalErrorHandler) (const char *Reason)
 

Functions

LLVMErrorTypeId LLVMGetErrorTypeId (LLVMErrorRef Err)
 
void LLVMConsumeError (LLVMErrorRef Err)
 
char * LLVMGetErrorMessage (LLVMErrorRef Err)
 
void LLVMDisposeErrorMessage (char *ErrMsg)
 
LLVMErrorTypeId LLVMGetStringErrorTypeId (void)
 
LLVMErrorRef LLVMCreateStringError (const char *ErrMsg)
 
void LLVMInstallFatalErrorHandler (LLVMFatalErrorHandler Handler)
 
void LLVMResetFatalErrorHandler (void)
 
void LLVMEnablePrettyStackTrace (void)
 

Detailed Description

Macro Definition Documentation

◆ LLVMErrorSuccess

#define LLVMErrorSuccess   0

Definition at line 28 of file Error.h.

Typedef Documentation

◆ LLVMErrorRef

typedef struct LLVMOpaqueError* LLVMErrorRef

Opaque reference to an error instance. Null serves as the 'success' value.

Definition at line 33 of file Error.h.

◆ LLVMErrorTypeId

typedef const void* LLVMErrorTypeId

Error type identifier.

Definition at line 38 of file Error.h.

◆ LLVMFatalErrorHandler

typedef void(* LLVMFatalErrorHandler) (const char *Reason)

Definition at line 27 of file ErrorHandling.h.

Function Documentation

◆ LLVMConsumeError()

void LLVMConsumeError ( LLVMErrorRef  Err)

Dispose of the given error without handling it. This operation consumes the error, and the given LLVMErrorRef value is not usable once this call returns. Note: This method only needs to be called if the error is not being passed to some other consuming operation, e.g. LLVMGetErrorMessage.

◆ LLVMCreateStringError()

LLVMErrorRef LLVMCreateStringError ( const char *  ErrMsg)

Create a StringError.

◆ LLVMDisposeErrorMessage()

void LLVMDisposeErrorMessage ( char *  ErrMsg)

Dispose of the given error message.

Here is the caller graph for this function:

◆ LLVMEnablePrettyStackTrace()

void LLVMEnablePrettyStackTrace ( void  )

Enable LLVM's built-in stack trace code. This intercepts the OS's crash signals and prints which component of LLVM you were in at the time if the crash.

◆ LLVMGetErrorMessage()

char * LLVMGetErrorMessage ( LLVMErrorRef  Err)

Returns the given string's error message. This operation consumes the error, and the given LLVMErrorRef value is not usable once this call returns. The caller is responsible for disposing of the string by calling LLVMDisposeErrorMessage.

Here is the caller graph for this function:

◆ LLVMGetErrorTypeId()

LLVMErrorTypeId LLVMGetErrorTypeId ( LLVMErrorRef  Err)

Returns the type id for the given error instance, which must be a failure value (i.e. non-null).

◆ LLVMGetStringErrorTypeId()

LLVMErrorTypeId LLVMGetStringErrorTypeId ( void  )

Returns the type id for llvm StringError.

◆ 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).

◆ LLVMResetFatalErrorHandler()

void LLVMResetFatalErrorHandler ( void  )

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