Skip to content

Commit 7e7a630

Browse files
committed
"[ClangImporter] For ClangImporter::canReadPCH(), reuse the existing clang::HeaderSearch object and create a main FileID for the new clang::SourceManager
1 parent 398cdf0 commit 7e7a630

File tree

1 file changed

+4
-7
lines changed

1 file changed

+4
-7
lines changed

lib/ClangImporter/ClangImporter.cpp

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -724,18 +724,15 @@ bool ClangImporter::canReadPCH(StringRef PCHFilename) {
724724
auto clangDiags = CompilerInstance::createDiagnostics(
725725
new clang::DiagnosticOptions());
726726
clang::SourceManager clangSrcMgr(*clangDiags, CI.getFileManager());
727-
clang::HeaderSearch headerInfo(CI.getHeaderSearchOptsPtr(),
728-
clangSrcMgr,
729-
*clangDiags,
730-
CI.getLangOpts(),
731-
/*Target=*/nullptr);
732-
headerInfo.setModuleCachePath(CI.getSpecificModuleCachePath());
727+
auto FID = clangSrcMgr.createFileID(
728+
llvm::make_unique<ZeroFilledMemoryBuffer>(1, "<main>"));
729+
clangSrcMgr.setMainFileID(FID);
733730
clang::Preprocessor PP(CI.getInvocation().getPreprocessorOptsPtr(),
734731
*clangDiags,
735732
CI.getLangOpts(),
736733
clangSrcMgr,
737734
CI.getPCMCache(),
738-
headerInfo, CI,
735+
CI.getPreprocessor().getHeaderSearchInfo(), CI,
739736
/*IILookup=*/nullptr,
740737
/*OwnsHeaderSearch=*/false);
741738
PP.Initialize(CI.getTarget());

0 commit comments

Comments
 (0)