1 //===--- DiagnosticLex.h - Diagnostics for liblex ---------------*- C++ -*-===// 2 // 3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4 // See https://llvm.org/LICENSE.txt for license information. 5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6 // 7 //===----------------------------------------------------------------------===// 8 9 #ifndef LLVM_CLANG_BASIC_DIAGNOSTICLEX_H 10 #define LLVM_CLANG_BASIC_DIAGNOSTICLEX_H 11 12 #include "clang/Basic/Diagnostic.h" 13 14 namespace clang { 15 namespace diag { 16 enum { 17 #define DIAG(ENUM, FLAGS, DEFAULT_MAPPING, DESC, GROUP, SFINAE, NOWERROR, \ 18 SHOWINSYSHEADER, SHOWINSYSMACRO, DEFERRABLE, CATEGORY) \ 19 ENUM, 20 #define LEXSTART 21 #include "clang/Basic/DiagnosticLexKinds.inc" 22 #undef DIAG 23 NUM_BUILTIN_LEX_DIAGNOSTICS 24 }; 25 #define DIAG_ENUM(ENUM_NAME) \ 26 namespace ENUM_NAME { \ 27 enum { 28 #define DIAG_ENUM_ITEM(IDX, NAME) NAME = IDX, 29 #define DIAG_ENUM_END() \ 30 } \ 31 ; \ 32 } 33 #include "clang/Basic/DiagnosticLexEnums.inc" 34 #undef DIAG_ENUM_END 35 #undef DIAG_ENUM_ITEM 36 #undef DIAG_ENUM 37 } // end namespace diag 38 } // end namespace clang 39 40 #endif // LLVM_CLANG_BASIC_DIAGNOSTICLEX_H 41