diff options
author | Dimitry Andric <dim@FreeBSD.org> | 2017-04-16 16:02:28 +0000 |
---|---|---|
committer | Dimitry Andric <dim@FreeBSD.org> | 2017-04-16 16:02:28 +0000 |
commit | 7442d6faa2719e4e7d33a7021c406c5a4facd74d (patch) | |
tree | c72b9241553fc9966179aba84f90f17bfa9235c3 /include/clang/Frontend/CompilerInstance.h | |
parent | b52119637f743680a99710ce5fdb6646da2772af (diff) |
Diffstat (limited to 'include/clang/Frontend/CompilerInstance.h')
-rw-r--r-- | include/clang/Frontend/CompilerInstance.h | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/include/clang/Frontend/CompilerInstance.h b/include/clang/Frontend/CompilerInstance.h index 3ebbc61515c66..4f7149fcb8b3e 100644 --- a/include/clang/Frontend/CompilerInstance.h +++ b/include/clang/Frontend/CompilerInstance.h @@ -44,6 +44,7 @@ class ExternalASTSource; class FileEntry; class FileManager; class FrontendAction; +class MemoryBufferCache; class Module; class Preprocessor; class Sema; @@ -90,6 +91,9 @@ class CompilerInstance : public ModuleLoader { /// The source manager. IntrusiveRefCntPtr<SourceManager> SourceMgr; + /// The cache of PCM files. + IntrusiveRefCntPtr<MemoryBufferCache> PCMCache; + /// The preprocessor. std::shared_ptr<Preprocessor> PP; @@ -142,13 +146,13 @@ class CompilerInstance : public ModuleLoader { /// \brief Whether we should (re)build the global module index once we /// have finished with this translation unit. - bool BuildGlobalModuleIndex; + bool BuildGlobalModuleIndex = false; /// \brief We have a full global module index, with all modules. - bool HaveFullGlobalModuleIndex; + bool HaveFullGlobalModuleIndex = false; /// \brief One or more modules failed to build. - bool ModuleBuildFailed; + bool ModuleBuildFailed = false; /// \brief Holds information about the output file. /// @@ -178,7 +182,7 @@ public: explicit CompilerInstance( std::shared_ptr<PCHContainerOperations> PCHContainerOps = std::make_shared<PCHContainerOperations>(), - bool BuildingModule = false); + MemoryBufferCache *SharedPCMCache = nullptr); ~CompilerInstance() override; /// @name High-Level Operations @@ -658,6 +662,8 @@ public: bool AllowPCHWithCompilerErrors, Preprocessor &PP, ASTContext &Context, const PCHContainerReader &PCHContainerRdr, ArrayRef<std::shared_ptr<ModuleFileExtension>> Extensions, + DependencyFileGenerator *DependencyFile, + ArrayRef<std::shared_ptr<DependencyCollector>> DependencyCollectors, void *DeserializationListener, bool OwnDeserializationListener, bool Preamble, bool UseGlobalModuleIndex); @@ -783,6 +789,8 @@ public: } void setExternalSemaSource(IntrusiveRefCntPtr<ExternalSemaSource> ESS); + + MemoryBufferCache &getPCMCache() const { return *PCMCache; } }; } // end namespace clang |