mirror of
https://github.com/MaskRay/ccls.git
synced 2024-11-25 17:11:59 +00:00
Adapt clang rC357037: removal of setVirtualFileSystem
This commit is contained in:
parent
17eaca8a02
commit
f1cbf8d550
@ -1239,12 +1239,17 @@ Index(SemaManager *manager, WorkingFiles *wfiles, VFS *vfs,
|
||||
DiagnosticConsumer DC;
|
||||
auto Clang = std::make_unique<CompilerInstance>(PCH);
|
||||
Clang->setInvocation(std::move(CI));
|
||||
Clang->setVirtualFileSystem(FS);
|
||||
Clang->createDiagnostics(&DC, false);
|
||||
Clang->setTarget(TargetInfo::CreateTargetInfo(
|
||||
Clang->getDiagnostics(), Clang->getInvocation().TargetOpts));
|
||||
if (!Clang->hasTarget())
|
||||
return {};
|
||||
#if LLVM_VERSION_MAJOR >= 9 // rC357037
|
||||
Clang->createFileManager(FS);
|
||||
#else
|
||||
Clang->setVirtualFileSystem(FS);
|
||||
Clang->createFileManager();
|
||||
#endif
|
||||
|
||||
IndexParam param(*vfs, no_linkage);
|
||||
auto DataConsumer = std::make_shared<IndexDataConsumer>(param);
|
||||
|
@ -296,7 +296,6 @@ std::unique_ptr<CompilerInstance> BuildCompilerInstance(
|
||||
|
||||
auto Clang = std::make_unique<CompilerInstance>(session.PCH);
|
||||
Clang->setInvocation(std::move(CI));
|
||||
Clang->setVirtualFileSystem(FS);
|
||||
Clang->createDiagnostics(&DC, false);
|
||||
Clang->setTarget(TargetInfo::CreateTargetInfo(
|
||||
Clang->getDiagnostics(), Clang->getInvocation().TargetOpts));
|
||||
@ -305,7 +304,12 @@ std::unique_ptr<CompilerInstance> BuildCompilerInstance(
|
||||
// Construct SourceManager with UserFilesAreVolatile: true because otherwise
|
||||
// RequiresNullTerminator: true may cause out-of-bounds read when a file is
|
||||
// mmap'ed but is saved concurrently.
|
||||
#if LLVM_VERSION_MAJOR >= 9 // rC357037
|
||||
Clang->createFileManager(FS);
|
||||
#else
|
||||
Clang->setVirtualFileSystem(FS);
|
||||
Clang->createFileManager();
|
||||
#endif
|
||||
Clang->setSourceManager(new SourceManager(Clang->getDiagnostics(),
|
||||
Clang->getFileManager(), true));
|
||||
auto &IS = Clang->getFrontendOpts().Inputs;
|
||||
|
Loading…
Reference in New Issue
Block a user