From: Eric Liu Date: Thu, 12 Jul 2018 18:32:11 +0000 (+0000) Subject: [Tooling] Make standalone executor support user-provided vfs. X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=bbe94cb02c6302a2638402f01d264d46e25757ce;p=clang [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 --- 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(); }