clang API Documentation

SerializedDiagnostics.h
Go to the documentation of this file.
00001 //===--- SerializedDiagnostics.h - Common data for serialized diagnostics -===//
00002 //
00003 //                     The LLVM Compiler Infrastructure
00004 //
00005 // This file is distributed under the University of Illinois Open Source
00006 // License. See LICENSE.TXT for details.
00007 //
00008 //===----------------------------------------------------------------------===//
00009 
00010 #ifndef LLVM_CLANG_FRONTEND_SERIALIZE_DIAGNOSTICS_H_
00011 #define LLVM_CLANG_FRONTEND_SERIALIZE_DIAGNOSTICS_H_
00012 
00013 #include "llvm/Bitcode/BitCodes.h"
00014 
00015 namespace clang {
00016 namespace serialized_diags {
00017 
00018 enum BlockIDs {
00019   /// \brief A top-level block which represents any meta data associated
00020   /// with the diagostics, including versioning of the format.
00021   BLOCK_META = llvm::bitc::FIRST_APPLICATION_BLOCKID,
00022 
00023   /// \brief The this block acts as a container for all the information
00024   /// for a specific diagnostic.
00025   BLOCK_DIAG
00026 };
00027 
00028 enum RecordIDs {
00029   RECORD_VERSION = 1,
00030   RECORD_DIAG,
00031   RECORD_SOURCE_RANGE,
00032   RECORD_DIAG_FLAG,
00033   RECORD_CATEGORY,
00034   RECORD_FILENAME,
00035   RECORD_FIXIT,
00036   RECORD_FIRST = RECORD_VERSION,
00037   RECORD_LAST = RECORD_FIXIT
00038 };
00039 
00040 /// \brief A stable version of DiagnosticIDs::Level.
00041 ///
00042 /// Do not change the order of values in this enum, and please increment the
00043 /// serialized diagnostics version number when you add to it.
00044 enum Level {
00045   Ignored = 0,
00046   Note,
00047   Warning,
00048   Error,
00049   Fatal,
00050   Remark
00051 };
00052 
00053 /// \brief The serialized diagnostics version number.
00054 enum { VersionNumber = 2 };
00055 
00056 } // end serialized_diags namespace
00057 } // end clang namespace
00058 
00059 #endif