diff options
author | Petr Hosek <phosek@chromium.org> | 2019-05-29 00:01:05 +0000 |
---|---|---|
committer | Petr Hosek <phosek@chromium.org> | 2019-05-29 00:01:05 +0000 |
commit | 92d706eaca6cc79501066eae4392b600008e52c1 (patch) | |
tree | 850e878aa4d7d9962db023ede5098c7258a66b0c /clang/lib/Driver/Driver.cpp | |
parent | 26212da5553a20a4a1dd4126514cb5697230fa53 (diff) | |
download | bcm5719-llvm-92d706eaca6cc79501066eae4392b600008e52c1.tar.gz bcm5719-llvm-92d706eaca6cc79501066eae4392b600008e52c1.zip |
[Driver] Search the toolchain dir with -print-file-name
This is useful when looking for directories or files relative to the
toolchain root, e.g. include/c++/v1. This change also adds a test
to make sure this functionality doesn't regress in the future.
Differential Revision: https://reviews.llvm.org/D62558
llvm-svn: 361903
Diffstat (limited to 'clang/lib/Driver/Driver.cpp')
-rw-r--r-- | clang/lib/Driver/Driver.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/clang/lib/Driver/Driver.cpp b/clang/lib/Driver/Driver.cpp index 4c153bf3348..a57c66403a2 100644 --- a/clang/lib/Driver/Driver.cpp +++ b/clang/lib/Driver/Driver.cpp @@ -4437,6 +4437,11 @@ std::string Driver::GetFilePath(StringRef Name, const ToolChain &TC) const { if (llvm::sys::fs::exists(Twine(P))) return P.str(); + SmallString<128> D(Dir); + llvm::sys::path::append(D, "..", Name); + if (llvm::sys::fs::exists(Twine(D))) + return D.str(); + if (auto P = SearchPaths(TC.getLibraryPaths())) return *P; |