/*===-- CIndexDiagnostic.h - Diagnostics C Interface ------------*- C++ -*-===*\ |* *| |* The LLVM Compiler Infrastructure *| |* *| |* This file is distributed under the University of Illinois Open Source *| |* License. See LICENSE.TXT for details. *| |* *| |*===----------------------------------------------------------------------===*| |* *| |* Implements the diagnostic functions of the Clang C interface. *| |* *| \*===----------------------------------------------------------------------===*/ #ifndef LLVM_CLANG_CINDEX_DIAGNOSTIC_H #define LLVM_CLANG_CINDEX_DIAGNOSTIC_H struct CXUnsavedFile; namespace llvm { template class SmallVectorImpl; namespace sys { class Path; } } namespace clang { class Diagnostic; class FileManager; class LangOptions; class Preprocessor; class StoredDiagnostic; class SourceManager; /// \brief The storage behind a CXDiagnostic struct CXStoredDiagnostic { const StoredDiagnostic &Diag; const LangOptions &LangOpts; CXStoredDiagnostic(const StoredDiagnostic &Diag, const LangOptions &LangOpts) : Diag(Diag), LangOpts(LangOpts) { } }; /// \brief Given the path to a file that contains binary, serialized /// diagnostics produced by Clang, load those diagnostics. void LoadSerializedDiagnostics(const llvm::sys::Path &DiagnosticsPath, unsigned num_unsaved_files, struct CXUnsavedFile *unsaved_files, FileManager &FileMgr, SourceManager &SourceMgr, llvm::SmallVectorImpl &Diags); } // end namespace clang #endif // LLVM_CLANG_CINDEX_DIAGNOSTIC_H