@@ -829,10 +829,9 @@ std::unique_ptr<ASTUnit> ASTUnit::LoadFromASTFile(
829829 AST->SourceMgr = new SourceManager (AST->getDiagnostics (),
830830 AST->getFileManager (),
831831 UserFilesAreVolatile);
832+ AST->ModCache = createCrossProcessModuleCache ();
832833 AST->HSOpts = std::make_unique<HeaderSearchOptions>(HSOpts);
833834 AST->HSOpts ->ModuleFormat = std::string (PCHContainerRdr.getFormats ().front ());
834- AST->ModCache =
835- createCrossProcessModuleCache (AST->HSOpts ->BuildSessionTimestamp );
836835 AST->HeaderInfo .reset (new HeaderSearch (AST->getHeaderSearchOpts (),
837836 AST->getSourceManager (),
838837 AST->getDiagnostics (),
@@ -1549,8 +1548,7 @@ ASTUnit::create(std::shared_ptr<CompilerInvocation> CI,
15491548 AST->UserFilesAreVolatile = UserFilesAreVolatile;
15501549 AST->SourceMgr = new SourceManager (AST->getDiagnostics (), *AST->FileMgr ,
15511550 UserFilesAreVolatile);
1552- AST->ModCache = createCrossProcessModuleCache (
1553- AST->Invocation ->getHeaderSearchOpts ().BuildSessionTimestamp );
1551+ AST->ModCache = createCrossProcessModuleCache ();
15541552
15551553 return AST;
15561554}
@@ -1747,8 +1745,6 @@ std::unique_ptr<ASTUnit> ASTUnit::LoadFromCompilerInvocation(
17471745 AST->IncludeBriefCommentsInCodeCompletion
17481746 = IncludeBriefCommentsInCodeCompletion;
17491747 AST->Invocation = std::move (CI);
1750- AST->ModCache = createCrossProcessModuleCache (
1751- AST->Invocation ->getHeaderSearchOpts ().BuildSessionTimestamp );
17521748 AST->FileSystemOpts = FileMgr->getFileSystemOpts ();
17531749 AST->FileMgr = FileMgr;
17541750 AST->UserFilesAreVolatile = UserFilesAreVolatile;
@@ -1838,6 +1834,7 @@ std::unique_ptr<ASTUnit> ASTUnit::LoadFromCommandLine(
18381834 AST->FileMgr = new FileManager (AST->FileSystemOpts , VFS);
18391835 AST->StorePreamblesInMemory = StorePreamblesInMemory;
18401836 AST->PreambleStoragePath = PreambleStoragePath;
1837+ AST->ModCache = createCrossProcessModuleCache ();
18411838 AST->OnlyLocalDecls = OnlyLocalDecls;
18421839 AST->CaptureDiagnostics = CaptureDiagnostics;
18431840 AST->TUKind = TUKind;
@@ -1846,8 +1843,6 @@ std::unique_ptr<ASTUnit> ASTUnit::LoadFromCommandLine(
18461843 = IncludeBriefCommentsInCodeCompletion;
18471844 AST->UserFilesAreVolatile = UserFilesAreVolatile;
18481845 AST->Invocation = CI;
1849- AST->ModCache = createCrossProcessModuleCache (
1850- AST->Invocation ->getHeaderSearchOpts ().BuildSessionTimestamp );
18511846 AST->SkipFunctionBodies = SkipFunctionBodies;
18521847 if (ForSerialization)
18531848 AST->WriterData .reset (new ASTWriterData (*AST->ModCache ));
@@ -2383,6 +2378,7 @@ bool ASTUnit::serialize(raw_ostream &OS) {
23832378
23842379 SmallString<128 > Buffer;
23852380 llvm::BitstreamWriter Stream (Buffer);
2381+ IntrusiveRefCntPtr<ModuleCache> ModCache = createCrossProcessModuleCache ();
23862382 ASTWriter Writer (Stream, Buffer, *ModCache, {});
23872383 return serializeUnit (Writer, Buffer, getSema (), OS);
23882384}
0 commit comments