diff options
| author | Benjamin Kramer <benny.kra@googlemail.com> | 2015-10-09 13:03:25 +0000 |
|---|---|---|
| committer | Benjamin Kramer <benny.kra@googlemail.com> | 2015-10-09 13:03:25 +0000 |
| commit | 407eb79fbff04e49c2df8f297463ca1a20630a61 (patch) | |
| tree | 49b4a94981965ae253fcc39ea23910c366a2d0e9 /clang/lib | |
| parent | decb2aeab3445a377f19c09116112e097d1b91c0 (diff) | |
| download | bcm5719-llvm-407eb79fbff04e49c2df8f297463ca1a20630a61.tar.gz bcm5719-llvm-407eb79fbff04e49c2df8f297463ca1a20630a61.zip | |
[VFS] Wire up driver VFS through tooling.
Sadly I don't currently have a way to tests this as the driver is always
initialized with the default triple and finding system headers is system
specific.
llvm-svn: 249831
Diffstat (limited to 'clang/lib')
| -rw-r--r-- | clang/lib/Tooling/Tooling.cpp | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/clang/lib/Tooling/Tooling.cpp b/clang/lib/Tooling/Tooling.cpp index b44371c09b4..220b62558bf 100644 --- a/clang/lib/Tooling/Tooling.cpp +++ b/clang/lib/Tooling/Tooling.cpp @@ -46,10 +46,11 @@ FrontendActionFactory::~FrontendActionFactory() {} // it to be based on the same framework. /// \brief Builds a clang driver initialized for running clang tools. -static clang::driver::Driver *newDriver(clang::DiagnosticsEngine *Diagnostics, - const char *BinaryName) { +static clang::driver::Driver *newDriver( + clang::DiagnosticsEngine *Diagnostics, const char *BinaryName, + IntrusiveRefCntPtr<vfs::FileSystem> VFS) { clang::driver::Driver *CompilerDriver = new clang::driver::Driver( - BinaryName, llvm::sys::getDefaultTargetTriple(), *Diagnostics); + BinaryName, llvm::sys::getDefaultTargetTriple(), *Diagnostics, VFS); CompilerDriver->setTitle("clang_based_tool"); return CompilerDriver; } @@ -238,7 +239,7 @@ bool ToolInvocation::run() { DiagConsumer ? DiagConsumer : &DiagnosticPrinter, false); const std::unique_ptr<clang::driver::Driver> Driver( - newDriver(&Diagnostics, BinaryName)); + newDriver(&Diagnostics, BinaryName, Files->getVirtualFileSystem())); // Since the input might only be virtual, don't check whether it exists. Driver->setCheckInputsExist(false); const std::unique_ptr<clang::driver::Compilation> Compilation( |

