@@ -829,10 +829,9 @@ std::unique_ptr<ASTUnit> ASTUnit::LoadFromASTFile(
829
829
AST->SourceMgr = new SourceManager (AST->getDiagnostics (),
830
830
AST->getFileManager (),
831
831
UserFilesAreVolatile);
832
+ AST->ModCache = createCrossProcessModuleCache ();
832
833
AST->HSOpts = std::make_unique<HeaderSearchOptions>(HSOpts);
833
834
AST->HSOpts ->ModuleFormat = std::string (PCHContainerRdr.getFormats ().front ());
834
- AST->ModCache =
835
- createCrossProcessModuleCache (AST->HSOpts ->BuildSessionTimestamp );
836
835
AST->HeaderInfo .reset (new HeaderSearch (AST->getHeaderSearchOpts (),
837
836
AST->getSourceManager (),
838
837
AST->getDiagnostics (),
@@ -1549,8 +1548,7 @@ ASTUnit::create(std::shared_ptr<CompilerInvocation> CI,
1549
1548
AST->UserFilesAreVolatile = UserFilesAreVolatile;
1550
1549
AST->SourceMgr = new SourceManager (AST->getDiagnostics (), *AST->FileMgr ,
1551
1550
UserFilesAreVolatile);
1552
- AST->ModCache = createCrossProcessModuleCache (
1553
- AST->Invocation ->getHeaderSearchOpts ().BuildSessionTimestamp );
1551
+ AST->ModCache = createCrossProcessModuleCache ();
1554
1552
1555
1553
return AST;
1556
1554
}
@@ -1747,8 +1745,6 @@ std::unique_ptr<ASTUnit> ASTUnit::LoadFromCompilerInvocation(
1747
1745
AST->IncludeBriefCommentsInCodeCompletion
1748
1746
= IncludeBriefCommentsInCodeCompletion;
1749
1747
AST->Invocation = std::move (CI);
1750
- AST->ModCache = createCrossProcessModuleCache (
1751
- AST->Invocation ->getHeaderSearchOpts ().BuildSessionTimestamp );
1752
1748
AST->FileSystemOpts = FileMgr->getFileSystemOpts ();
1753
1749
AST->FileMgr = FileMgr;
1754
1750
AST->UserFilesAreVolatile = UserFilesAreVolatile;
@@ -1838,6 +1834,7 @@ std::unique_ptr<ASTUnit> ASTUnit::LoadFromCommandLine(
1838
1834
AST->FileMgr = new FileManager (AST->FileSystemOpts , VFS);
1839
1835
AST->StorePreamblesInMemory = StorePreamblesInMemory;
1840
1836
AST->PreambleStoragePath = PreambleStoragePath;
1837
+ AST->ModCache = createCrossProcessModuleCache ();
1841
1838
AST->OnlyLocalDecls = OnlyLocalDecls;
1842
1839
AST->CaptureDiagnostics = CaptureDiagnostics;
1843
1840
AST->TUKind = TUKind;
@@ -1846,8 +1843,6 @@ std::unique_ptr<ASTUnit> ASTUnit::LoadFromCommandLine(
1846
1843
= IncludeBriefCommentsInCodeCompletion;
1847
1844
AST->UserFilesAreVolatile = UserFilesAreVolatile;
1848
1845
AST->Invocation = CI;
1849
- AST->ModCache = createCrossProcessModuleCache (
1850
- AST->Invocation ->getHeaderSearchOpts ().BuildSessionTimestamp );
1851
1846
AST->SkipFunctionBodies = SkipFunctionBodies;
1852
1847
if (ForSerialization)
1853
1848
AST->WriterData .reset (new ASTWriterData (*AST->ModCache ));
@@ -2383,6 +2378,7 @@ bool ASTUnit::serialize(raw_ostream &OS) {
2383
2378
2384
2379
SmallString<128 > Buffer;
2385
2380
llvm::BitstreamWriter Stream (Buffer);
2381
+ IntrusiveRefCntPtr<ModuleCache> ModCache = createCrossProcessModuleCache ();
2386
2382
ASTWriter Writer (Stream, Buffer, *ModCache, {});
2387
2383
return serializeUnit (Writer, Buffer, getSema (), OS);
2388
2384
}
0 commit comments