diff options
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 |