1 //===--- DiagnosticSerialization.h - Serialization Diagnostics -*- 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_DIAGNOSTICSERIALIZATION_H 10 #define LLVM_CLANG_BASIC_DIAGNOSTICSERIALIZATION_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 SERIALIZATIONSTART 21 #include "clang/Basic/DiagnosticSerializationKinds.inc" 22 #undef DIAG 23 NUM_BUILTIN_SERIALIZATION_DIAGNOSTICS 24 }; 25 26 #define DIAG_ENUM(ENUM_NAME) \ 27 namespace ENUM_NAME { \ 28 enum { 29 #define DIAG_ENUM_ITEM(IDX, NAME) NAME = IDX, 30 #define DIAG_ENUM_END() \ 31 } \ 32 ; \ 33 } 34 #include "clang/Basic/DiagnosticSerializationEnums.inc" 35 #undef DIAG_ENUM_END 36 #undef DIAG_ENUM_ITEM 37 #undef DIAG_ENUM 38 } // end namespace diag 39 } // end namespace clang 40 41 #endif // LLVM_CLANG_BASIC_DIAGNOSTICSERIALIZATION_H 42