From e8317bd5380fcc502539ca8481773d201555b771 Mon Sep 17 00:00:00 2001 From: Fangrui Song Date: Wed, 10 Oct 2018 09:52:41 -0700 Subject: [PATCH] Add namespace alias clang::vfs = llvm::vfs to adapt D52783 --- src/clang_complete.cc | 8 ++++---- src/clang_complete.hh | 4 ++-- src/clang_tu.cc | 2 +- src/clang_tu.hh | 9 ++++++++- src/indexer.cc | 2 +- 5 files changed, 16 insertions(+), 9 deletions(-) diff --git a/src/clang_complete.cc b/src/clang_complete.cc index 32ef2ef7..3e206387 100644 --- a/src/clang_complete.cc +++ b/src/clang_complete.cc @@ -114,11 +114,11 @@ struct PreambleStatCache { return new VFS(std::move(FS), *this); } - IntrusiveRefCntPtr - Consumer(IntrusiveRefCntPtr FS) { - struct VFS : vfs::ProxyFileSystem { + IntrusiveRefCntPtr + Consumer(IntrusiveRefCntPtr FS) { + struct VFS : llvm::vfs::ProxyFileSystem { const PreambleStatCache &Cache; - VFS(IntrusiveRefCntPtr FS, + VFS(IntrusiveRefCntPtr FS, const PreambleStatCache &Cache) : ProxyFileSystem(std::move(FS)), Cache(Cache) {} llvm::ErrorOr status(const Twine &Path) override { diff --git a/src/clang_complete.hh b/src/clang_complete.hh index 7d610d2d..822ea6ca 100644 --- a/src/clang_complete.hh +++ b/src/clang_complete.hh @@ -63,8 +63,8 @@ struct CompletionSession bool inferred = false; // TODO share - llvm::IntrusiveRefCntPtr FS = - clang::vfs::getRealFileSystem(); + llvm::IntrusiveRefCntPtr FS = + llvm::vfs::getRealFileSystem(); std::shared_ptr PCH; CompletionSession(const Project::Entry &file, WorkingFiles *wfiles, diff --git a/src/clang_tu.cc b/src/clang_tu.cc index d1dd3f02..5392ee52 100644 --- a/src/clang_tu.cc +++ b/src/clang_tu.cc @@ -83,7 +83,7 @@ Range FromTokenRange(const SourceManager &SM, const LangOptions &LangOpts, std::unique_ptr BuildCompilerInvocation(std::vector args, - IntrusiveRefCntPtr VFS) { + IntrusiveRefCntPtr VFS) { std::string save = "-resource-dir=" + g_config->clang.resourceDir; args.push_back(save.c_str()); IntrusiveRefCntPtr Diags( diff --git a/src/clang_tu.hh b/src/clang_tu.hh index 96325466..30d0f464 100644 --- a/src/clang_tu.hh +++ b/src/clang_tu.hh @@ -22,6 +22,13 @@ limitations under the License. #include #include +#if LLVM_VERSION_MAJOR < 8 +// D52783 Lift VFS from clang to llvm +namespace llvm { +namespace vfs = clang::vfs; +} +#endif + std::string PathFromFileEntry(const clang::FileEntry &file); Range FromCharSourceRange(const clang::SourceManager &SM, @@ -39,6 +46,6 @@ Range FromTokenRange(const clang::SourceManager &SM, std::unique_ptr BuildCompilerInvocation(std::vector args, - llvm::IntrusiveRefCntPtr VFS); + llvm::IntrusiveRefCntPtr VFS); const char *ClangBuiltinTypeName(int); diff --git a/src/indexer.cc b/src/indexer.cc index 34137630..1b9aaac1 100644 --- a/src/indexer.cc +++ b/src/indexer.cc @@ -1225,7 +1225,7 @@ Index(CompletionManager *completion, WorkingFiles *wfiles, VFS *vfs, const std::vector> &remapped, bool &ok) { ok = true; auto PCH = std::make_shared(); - llvm::IntrusiveRefCntPtr FS = vfs::getRealFileSystem(); + llvm::IntrusiveRefCntPtr FS = llvm::vfs::getRealFileSystem(); std::shared_ptr CI = BuildCompilerInvocation(args, FS); // e.g. .s if (!CI)