xref: /llvm-project/clang/include/clang-c/CXErrorCode.h (revision 8c48405069085a2c8b6b80816eda99e5dad31fc1)
10b9682efSArgyrios Kyrtzidis /*===-- clang-c/CXErrorCode.h - C Index Error Codes  --------------*- C -*-===*\
20b9682efSArgyrios Kyrtzidis |*                                                                            *|
32946cd70SChandler Carruth |* Part of the LLVM Project, under the Apache License v2.0 with LLVM          *|
42946cd70SChandler Carruth |* Exceptions.                                                                *|
52946cd70SChandler Carruth |* See https://llvm.org/LICENSE.txt for license information.                  *|
62946cd70SChandler Carruth |* SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception                    *|
70b9682efSArgyrios Kyrtzidis |*                                                                            *|
80b9682efSArgyrios Kyrtzidis |*===----------------------------------------------------------------------===*|
90b9682efSArgyrios Kyrtzidis |*                                                                            *|
100b9682efSArgyrios Kyrtzidis |* This header provides the CXErrorCode enumerators.                          *|
110b9682efSArgyrios Kyrtzidis |*                                                                            *|
120b9682efSArgyrios Kyrtzidis \*===----------------------------------------------------------------------===*/
130b9682efSArgyrios Kyrtzidis 
142f5db8b3SBenjamin Kramer #ifndef LLVM_CLANG_C_CXERRORCODE_H
152f5db8b3SBenjamin Kramer #define LLVM_CLANG_C_CXERRORCODE_H
160b9682efSArgyrios Kyrtzidis 
17*8c484050SDuncan P. N. Exon Smith #include "clang-c/ExternC.h"
180b9682efSArgyrios Kyrtzidis #include "clang-c/Platform.h"
190b9682efSArgyrios Kyrtzidis 
20*8c484050SDuncan P. N. Exon Smith LLVM_CLANG_C_EXTERN_C_BEGIN
210b9682efSArgyrios Kyrtzidis 
220b9682efSArgyrios Kyrtzidis /**
239fc8faf9SAdrian Prantl  * Error codes returned by libclang routines.
240b9682efSArgyrios Kyrtzidis  *
250b9682efSArgyrios Kyrtzidis  * Zero (\c CXError_Success) is the only error code indicating success.  Other
260b9682efSArgyrios Kyrtzidis  * error codes, including not yet assigned non-zero values, indicate errors.
270b9682efSArgyrios Kyrtzidis  */
280b9682efSArgyrios Kyrtzidis enum CXErrorCode {
290b9682efSArgyrios Kyrtzidis   /**
309fc8faf9SAdrian Prantl    * No error.
310b9682efSArgyrios Kyrtzidis    */
320b9682efSArgyrios Kyrtzidis   CXError_Success = 0,
330b9682efSArgyrios Kyrtzidis 
340b9682efSArgyrios Kyrtzidis   /**
359fc8faf9SAdrian Prantl    * A generic error code, no further details are available.
360b9682efSArgyrios Kyrtzidis    *
370b9682efSArgyrios Kyrtzidis    * Errors of this kind can get their own specific error codes in future
380b9682efSArgyrios Kyrtzidis    * libclang versions.
390b9682efSArgyrios Kyrtzidis    */
400b9682efSArgyrios Kyrtzidis   CXError_Failure = 1,
410b9682efSArgyrios Kyrtzidis 
420b9682efSArgyrios Kyrtzidis   /**
439fc8faf9SAdrian Prantl    * libclang crashed while performing the requested operation.
440b9682efSArgyrios Kyrtzidis    */
450b9682efSArgyrios Kyrtzidis   CXError_Crashed = 2,
460b9682efSArgyrios Kyrtzidis 
470b9682efSArgyrios Kyrtzidis   /**
489fc8faf9SAdrian Prantl    * The function detected that the arguments violate the function
490b9682efSArgyrios Kyrtzidis    * contract.
500b9682efSArgyrios Kyrtzidis    */
510b9682efSArgyrios Kyrtzidis   CXError_InvalidArguments = 3,
520b9682efSArgyrios Kyrtzidis 
530b9682efSArgyrios Kyrtzidis   /**
549fc8faf9SAdrian Prantl    * An AST deserialization error has occurred.
550b9682efSArgyrios Kyrtzidis    */
560b9682efSArgyrios Kyrtzidis   CXError_ASTReadError = 4
570b9682efSArgyrios Kyrtzidis };
580b9682efSArgyrios Kyrtzidis 
59*8c484050SDuncan P. N. Exon Smith LLVM_CLANG_C_EXTERN_C_END
60*8c484050SDuncan P. N. Exon Smith 
610b9682efSArgyrios Kyrtzidis #endif
620b9682efSArgyrios Kyrtzidis 
63