1e5dd7070Spatrick //===--- SerializedDiagnostics.h - Common data for serialized diagnostics -===// 2e5dd7070Spatrick // 3e5dd7070Spatrick // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4e5dd7070Spatrick // See https://llvm.org/LICENSE.txt for license information. 5e5dd7070Spatrick // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6e5dd7070Spatrick // 7e5dd7070Spatrick //===----------------------------------------------------------------------===// 8e5dd7070Spatrick 9*12c85518Srobert #ifndef LLVM_CLANG_FRONTEND_SERIALIZEDDIAGNOSTICS_H 10*12c85518Srobert #define LLVM_CLANG_FRONTEND_SERIALIZEDDIAGNOSTICS_H 11e5dd7070Spatrick 12e5dd7070Spatrick #include "llvm/Bitstream/BitCodes.h" 13e5dd7070Spatrick 14e5dd7070Spatrick namespace clang { 15e5dd7070Spatrick namespace serialized_diags { 16e5dd7070Spatrick 17e5dd7070Spatrick enum BlockIDs { 18e5dd7070Spatrick /// A top-level block which represents any meta data associated 19e5dd7070Spatrick /// with the diagostics, including versioning of the format. 20e5dd7070Spatrick BLOCK_META = llvm::bitc::FIRST_APPLICATION_BLOCKID, 21e5dd7070Spatrick 22e5dd7070Spatrick /// The this block acts as a container for all the information 23e5dd7070Spatrick /// for a specific diagnostic. 24e5dd7070Spatrick BLOCK_DIAG 25e5dd7070Spatrick }; 26e5dd7070Spatrick 27e5dd7070Spatrick enum RecordIDs { 28e5dd7070Spatrick RECORD_VERSION = 1, 29e5dd7070Spatrick RECORD_DIAG, 30e5dd7070Spatrick RECORD_SOURCE_RANGE, 31e5dd7070Spatrick RECORD_DIAG_FLAG, 32e5dd7070Spatrick RECORD_CATEGORY, 33e5dd7070Spatrick RECORD_FILENAME, 34e5dd7070Spatrick RECORD_FIXIT, 35e5dd7070Spatrick RECORD_FIRST = RECORD_VERSION, 36e5dd7070Spatrick RECORD_LAST = RECORD_FIXIT 37e5dd7070Spatrick }; 38e5dd7070Spatrick 39e5dd7070Spatrick /// A stable version of DiagnosticIDs::Level. 40e5dd7070Spatrick /// 41e5dd7070Spatrick /// Do not change the order of values in this enum, and please increment the 42e5dd7070Spatrick /// serialized diagnostics version number when you add to it. 43e5dd7070Spatrick enum Level { 44e5dd7070Spatrick Ignored = 0, 45e5dd7070Spatrick Note, 46e5dd7070Spatrick Warning, 47e5dd7070Spatrick Error, 48e5dd7070Spatrick Fatal, 49e5dd7070Spatrick Remark 50e5dd7070Spatrick }; 51e5dd7070Spatrick 52e5dd7070Spatrick /// The serialized diagnostics version number. 53e5dd7070Spatrick enum { VersionNumber = 2 }; 54e5dd7070Spatrick 55e5dd7070Spatrick } // end serialized_diags namespace 56e5dd7070Spatrick } // end clang namespace 57e5dd7070Spatrick 58e5dd7070Spatrick #endif 59