From bbe94cb02c6302a2638402f01d264d46e25757ce Mon Sep 17 00:00:00 2001 From: Eric Liu Date: Thu, 12 Jul 2018 18:32:11 +0000 Subject: [PATCH] [Tooling] Make standalone executor support user-provided vfs. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@336928 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/clang/Tooling/StandaloneExecution.h | 1 + lib/Tooling/StandaloneExecution.cpp | 8 +++++--- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/include/clang/Tooling/StandaloneExecution.h b/include/clang/Tooling/StandaloneExecution.h index 7d1d0d68a4..572330e4cc 100644 --- a/include/clang/Tooling/StandaloneExecution.h +++ b/include/clang/Tooling/StandaloneExecution.h @@ -37,6 +37,7 @@ public: StandaloneToolExecutor( const CompilationDatabase &Compilations, llvm::ArrayRef SourcePaths, + IntrusiveRefCntPtr BaseFS = vfs::getRealFileSystem(), std::shared_ptr PCHContainerOps = std::make_shared()); diff --git a/lib/Tooling/StandaloneExecution.cpp b/lib/Tooling/StandaloneExecution.cpp index eea8e39d13..7312baf9dc 100644 --- a/lib/Tooling/StandaloneExecution.cpp +++ b/lib/Tooling/StandaloneExecution.cpp @@ -30,9 +30,11 @@ static ArgumentsAdjuster getDefaultArgumentsAdjusters() { StandaloneToolExecutor::StandaloneToolExecutor( const CompilationDatabase &Compilations, llvm::ArrayRef SourcePaths, + IntrusiveRefCntPtr BaseFS, std::shared_ptr PCHContainerOps) - : Tool(Compilations, SourcePaths), Context(&Results), - ArgsAdjuster(getDefaultArgumentsAdjusters()) { + : Tool(Compilations, SourcePaths, std::move(PCHContainerOps), + std::move(BaseFS)), + Context(&Results), ArgsAdjuster(getDefaultArgumentsAdjusters()) { // Use self-defined default argument adjusters instead of the default // adjusters that come with the old `ClangTool`. Tool.clearArgumentsAdjusters(); @@ -43,7 +45,7 @@ StandaloneToolExecutor::StandaloneToolExecutor( std::shared_ptr PCHContainerOps) : OptionsParser(std::move(Options)), Tool(OptionsParser->getCompilations(), OptionsParser->getSourcePathList(), - PCHContainerOps), + std::move(PCHContainerOps)), Context(&Results), ArgsAdjuster(getDefaultArgumentsAdjusters()) { Tool.clearArgumentsAdjusters(); } -- 2.40.0