12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394 |
- #pragma once
- #ifdef __GNUC__
- #pragma GCC diagnostic push
- #pragma GCC diagnostic ignored "-Wunused-parameter"
- #endif
- /*===------- 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
- #include "llvm-c/ExternC.h"
- LLVM_C_EXTERN_C_BEGIN
- /**
- * @defgroup LLVMCError Error Handling
- * @ingroup LLVMC
- *
- * @{
- */
- #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(void);
- /**
- * Create a StringError.
- */
- LLVMErrorRef LLVMCreateStringError(const char *ErrMsg);
- /**
- * @}
- */
- LLVM_C_EXTERN_C_END
- #endif
- #ifdef __GNUC__
- #pragma GCC diagnostic pop
- #endif
|