#ifndef LLVM_CLANG_FRONTEND_PRECOMPILEDPREAMBLE_H
#define LLVM_CLANG_FRONTEND_PRECOMPILEDPREAMBLE_H
#include "clang/Lex/Lexer.h"
#include "clang/Lex/Preprocessor.h"
#include "llvm/ADT/IntrusiveRefCntPtr.h"
#include "llvm/ADT/StringRef.h"
#include "llvm/Support/MD5.h"
#include <cstddef>
#include <memory>
#include <system_error>
#include <type_traits>
namespace llvm {
class MemoryBuffer;
class MemoryBufferRef;
namespace vfs {
class FileSystem;
}
}
namespace clang {
class CompilerInstance;
class CompilerInvocation;
class Decl;
class DeclGroupRef;
class PCHContainerOperations;
PreambleBounds ComputePreambleBounds(const LangOptions &LangOpts,
const llvm::MemoryBufferRef &Buffer,
unsigned MaxLines);
class PreambleCallbacks;
class PrecompiledPreamble { … };
class PreambleCallbacks { … };
enum class BuildPreambleError { … };
class BuildPreambleErrorCategory final : public std::error_category { … };
std::error_code make_error_code(BuildPreambleError Error);
}
template <>
struct std::is_error_code_enum<clang::BuildPreambleError> : std::true_type { … };
#endif