mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-23 19:23:23 +01:00
ae65e281f3
to reflect the new license. We understand that people may be surprised that we're moving the header entirely to discuss the new license. We checked this carefully with the Foundation's lawyer and we believe this is the correct approach. Essentially, all code in the project is now made available by the LLVM project under our new license, so you will see that the license headers include that license only. Some of our contributors have contributed code under our old license, and accordingly, we have retained a copy of our old license notice in the top-level files in each project and repository. llvm-svn: 351636
70 lines
2.3 KiB
C
70 lines
2.3 KiB
C
/*===------- llvm-c/Error.h - llvm::Error class C Interface -------*- C -*-===*\
|
|
|* *|
|
|
|* Part of the LLVM Project, under the Apache License v2.0 with LLVM *|
|
|
|* Exceptions. *|
|
|
|* See https://llvm.org/LICENSE.txt for license information. *|
|
|
|* SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception *|
|
|
|* *|
|
|
|*===----------------------------------------------------------------------===*|
|
|
|* *|
|
|
|* This file defines the C interface to LLVM's Error class. *|
|
|
|* *|
|
|
\*===----------------------------------------------------------------------===*/
|
|
|
|
#ifndef LLVM_C_ERROR_H
|
|
#define LLVM_C_ERROR_H
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
#define LLVMErrorSuccess 0
|
|
|
|
/**
|
|
* Opaque reference to an error instance. Null serves as the 'success' value.
|
|
*/
|
|
typedef struct LLVMOpaqueError *LLVMErrorRef;
|
|
|
|
/**
|
|
* Error type identifier.
|
|
*/
|
|
typedef const void *LLVMErrorTypeId;
|
|
|
|
/**
|
|
* Returns the type id for the given error instance, which must be a failure
|
|
* value (i.e. non-null).
|
|
*/
|
|
LLVMErrorTypeId LLVMGetErrorTypeId(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.
|
|
*/
|
|
void LLVMConsumeError(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.
|
|
*/
|
|
char *LLVMGetErrorMessage(LLVMErrorRef Err);
|
|
|
|
/**
|
|
* Dispose of the given error message.
|
|
*/
|
|
void LLVMDisposeErrorMessage(char *ErrMsg);
|
|
|
|
/**
|
|
* Returns the type id for llvm StringError.
|
|
*/
|
|
LLVMErrorTypeId LLVMGetStringErrorTypeId();
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif
|