summaryrefslogtreecommitdiffstats
path: root/clang/lib/Driver/Driver.cpp
diff options
context:
space:
mode:
authorNico Weber <nicolasweber@gmx.de>2015-04-24 22:16:53 +0000
committerNico Weber <nicolasweber@gmx.de>2015-04-24 22:16:53 +0000
commit1f0f165d50211e72d41395abd74def920347380e (patch)
tree7f73ea68bb158f5190a7db1aab1e6937db5ae60c /clang/lib/Driver/Driver.cpp
parentc8d987b12194493d7634c3bde31b0d9340ceb3d2 (diff)
downloadbcm5719-llvm-1f0f165d50211e72d41395abd74def920347380e.tar.gz
bcm5719-llvm-1f0f165d50211e72d41395abd74def920347380e.zip
clang-cl: Don't look up absolute paths in %LIB%.
Before this patch, passing a non-existent absolute path to clang-cl would cause stat'ing of impossible paths. For example, `clang-cl -c d:\adsfasdf.txt` would cause a stat of C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\LIBd:\asdfadsf.cc llvm-svn: 235787
Diffstat (limited to 'clang/lib/Driver/Driver.cpp')
-rw-r--r--clang/lib/Driver/Driver.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/clang/lib/Driver/Driver.cpp b/clang/lib/Driver/Driver.cpp
index 07a5e42cb13..7e52b1fbca9 100644
--- a/clang/lib/Driver/Driver.cpp
+++ b/clang/lib/Driver/Driver.cpp
@@ -989,7 +989,8 @@ static bool DiagnoseInputExistence(const Driver &D, const DerivedArgList &Args,
if (llvm::sys::fs::exists(Twine(Path)))
return true;
- if (D.IsCLMode() && llvm::sys::Process::FindInEnvPath("LIB", Value))
+ if (D.IsCLMode() && !llvm::sys::path::is_absolute(Twine(Path)) &&
+ llvm::sys::Process::FindInEnvPath("LIB", Value))
return true;
D.Diag(clang::diag::err_drv_no_such_file) << Path;
OpenPOWER on IntegriCloud