xref: /openbsd-src/gnu/llvm/clang/include/clang-c/CXErrorCode.h (revision e5dd70708596ae51455a0ffa086a00c5b29f8583)
1*e5dd7070Spatrick /*===-- clang-c/CXErrorCode.h - C Index Error Codes  --------------*- C -*-===*\
2*e5dd7070Spatrick |*                                                                            *|
3*e5dd7070Spatrick |* Part of the LLVM Project, under the Apache License v2.0 with LLVM          *|
4*e5dd7070Spatrick |* Exceptions.                                                                *|
5*e5dd7070Spatrick |* See https://llvm.org/LICENSE.txt for license information.                  *|
6*e5dd7070Spatrick |* SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception                    *|
7*e5dd7070Spatrick |*                                                                            *|
8*e5dd7070Spatrick |*===----------------------------------------------------------------------===*|
9*e5dd7070Spatrick |*                                                                            *|
10*e5dd7070Spatrick |* This header provides the CXErrorCode enumerators.                          *|
11*e5dd7070Spatrick |*                                                                            *|
12*e5dd7070Spatrick \*===----------------------------------------------------------------------===*/
13*e5dd7070Spatrick 
14*e5dd7070Spatrick #ifndef LLVM_CLANG_C_CXERRORCODE_H
15*e5dd7070Spatrick #define LLVM_CLANG_C_CXERRORCODE_H
16*e5dd7070Spatrick 
17*e5dd7070Spatrick #include "clang-c/ExternC.h"
18*e5dd7070Spatrick #include "clang-c/Platform.h"
19*e5dd7070Spatrick 
20*e5dd7070Spatrick LLVM_CLANG_C_EXTERN_C_BEGIN
21*e5dd7070Spatrick 
22*e5dd7070Spatrick /**
23*e5dd7070Spatrick  * Error codes returned by libclang routines.
24*e5dd7070Spatrick  *
25*e5dd7070Spatrick  * Zero (\c CXError_Success) is the only error code indicating success.  Other
26*e5dd7070Spatrick  * error codes, including not yet assigned non-zero values, indicate errors.
27*e5dd7070Spatrick  */
28*e5dd7070Spatrick enum CXErrorCode {
29*e5dd7070Spatrick   /**
30*e5dd7070Spatrick    * No error.
31*e5dd7070Spatrick    */
32*e5dd7070Spatrick   CXError_Success = 0,
33*e5dd7070Spatrick 
34*e5dd7070Spatrick   /**
35*e5dd7070Spatrick    * A generic error code, no further details are available.
36*e5dd7070Spatrick    *
37*e5dd7070Spatrick    * Errors of this kind can get their own specific error codes in future
38*e5dd7070Spatrick    * libclang versions.
39*e5dd7070Spatrick    */
40*e5dd7070Spatrick   CXError_Failure = 1,
41*e5dd7070Spatrick 
42*e5dd7070Spatrick   /**
43*e5dd7070Spatrick    * libclang crashed while performing the requested operation.
44*e5dd7070Spatrick    */
45*e5dd7070Spatrick   CXError_Crashed = 2,
46*e5dd7070Spatrick 
47*e5dd7070Spatrick   /**
48*e5dd7070Spatrick    * The function detected that the arguments violate the function
49*e5dd7070Spatrick    * contract.
50*e5dd7070Spatrick    */
51*e5dd7070Spatrick   CXError_InvalidArguments = 3,
52*e5dd7070Spatrick 
53*e5dd7070Spatrick   /**
54*e5dd7070Spatrick    * An AST deserialization error has occurred.
55*e5dd7070Spatrick    */
56*e5dd7070Spatrick   CXError_ASTReadError = 4
57*e5dd7070Spatrick };
58*e5dd7070Spatrick 
59*e5dd7070Spatrick LLVM_CLANG_C_EXTERN_C_END
60*e5dd7070Spatrick 
61*e5dd7070Spatrick #endif
62*e5dd7070Spatrick 
63