@@ -829,9 +829,10 @@ std::unique_ptr<ASTUnit> ASTUnit::LoadFromASTFile(
829829 AST->SourceMgr = new SourceManager (AST->getDiagnostics (),
830830 AST->getFileManager (),
831831 UserFilesAreVolatile);
832- AST->ModCache = createCrossProcessModuleCache ();
833832 AST->HSOpts = std::make_unique<HeaderSearchOptions>(HSOpts);
834833 AST->HSOpts ->ModuleFormat = std::string (PCHContainerRdr.getFormats ().front ());
834+ AST->ModCache =
835+ createCrossProcessModuleCache (AST->HSOpts ->BuildSessionTimestamp );
835836 AST->HeaderInfo .reset (new HeaderSearch (AST->getHeaderSearchOpts (),
836837 AST->getSourceManager (),
837838 AST->getDiagnostics (),
@@ -1548,7 +1549,8 @@ ASTUnit::create(std::shared_ptr<CompilerInvocation> CI,
15481549 AST->UserFilesAreVolatile = UserFilesAreVolatile;
15491550 AST->SourceMgr = new SourceManager (AST->getDiagnostics (), *AST->FileMgr ,
15501551 UserFilesAreVolatile);
1551- AST->ModCache = createCrossProcessModuleCache ();
1552+ AST->ModCache = createCrossProcessModuleCache (
1553+ AST->Invocation ->getHeaderSearchOpts ().BuildSessionTimestamp );
15521554
15531555 return AST;
15541556}
@@ -1745,6 +1747,8 @@ std::unique_ptr<ASTUnit> ASTUnit::LoadFromCompilerInvocation(
17451747 AST->IncludeBriefCommentsInCodeCompletion
17461748 = IncludeBriefCommentsInCodeCompletion;
17471749 AST->Invocation = std::move (CI);
1750+ AST->ModCache = createCrossProcessModuleCache (
1751+ AST->Invocation ->getHeaderSearchOpts ().BuildSessionTimestamp );
17481752 AST->FileSystemOpts = FileMgr->getFileSystemOpts ();
17491753 AST->FileMgr = FileMgr;
17501754 AST->UserFilesAreVolatile = UserFilesAreVolatile;
@@ -1834,7 +1838,6 @@ std::unique_ptr<ASTUnit> ASTUnit::LoadFromCommandLine(
18341838 AST->FileMgr = new FileManager (AST->FileSystemOpts , VFS);
18351839 AST->StorePreamblesInMemory = StorePreamblesInMemory;
18361840 AST->PreambleStoragePath = PreambleStoragePath;
1837- AST->ModCache = createCrossProcessModuleCache ();
18381841 AST->OnlyLocalDecls = OnlyLocalDecls;
18391842 AST->CaptureDiagnostics = CaptureDiagnostics;
18401843 AST->TUKind = TUKind;
@@ -1843,6 +1846,8 @@ std::unique_ptr<ASTUnit> ASTUnit::LoadFromCommandLine(
18431846 = IncludeBriefCommentsInCodeCompletion;
18441847 AST->UserFilesAreVolatile = UserFilesAreVolatile;
18451848 AST->Invocation = CI;
1849+ AST->ModCache = createCrossProcessModuleCache (
1850+ AST->Invocation ->getHeaderSearchOpts ().BuildSessionTimestamp );
18461851 AST->SkipFunctionBodies = SkipFunctionBodies;
18471852 if (ForSerialization)
18481853 AST->WriterData .reset (new ASTWriterData (*AST->ModCache ));
@@ -2378,7 +2383,6 @@ bool ASTUnit::serialize(raw_ostream &OS) {
23782383
23792384 SmallString<128 > Buffer;
23802385 llvm::BitstreamWriter Stream (Buffer);
2381- IntrusiveRefCntPtr<ModuleCache> ModCache = createCrossProcessModuleCache ();
23822386 ASTWriter Writer (Stream, Buffer, *ModCache, {});
23832387 return serializeUnit (Writer, Buffer, getSema (), OS);
23842388}
0 commit comments