summaryrefslogtreecommitdiffstats
path: root/clang/lib
diff options
context:
space:
mode:
authorBenjamin Kramer <benny.kra@googlemail.com>2015-10-09 13:03:25 +0000
committerBenjamin Kramer <benny.kra@googlemail.com>2015-10-09 13:03:25 +0000
commit407eb79fbff04e49c2df8f297463ca1a20630a61 (patch)
tree49b4a94981965ae253fcc39ea23910c366a2d0e9 /clang/lib
parentdecb2aeab3445a377f19c09116112e097d1b91c0 (diff)
downloadbcm5719-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.cpp9
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(
OpenPOWER on IntegriCloud