diff options
Diffstat (limited to 'clang')
| -rw-r--r-- | clang/lib/Driver/Driver.cpp | 3 | ||||
| -rw-r--r-- | clang/test/Driver/cl-inputs.c | 5 |
2 files changed, 7 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; diff --git a/clang/test/Driver/cl-inputs.c b/clang/test/Driver/cl-inputs.c index b0265df52f0..632000990f0 100644 --- a/clang/test/Driver/cl-inputs.c +++ b/clang/test/Driver/cl-inputs.c @@ -59,4 +59,9 @@ // LIBINPUT2: link.exe" // LIBINPUT2-NOT: "cl-test2.lib" +// RUN: %clang_cl -### -- %s /nonexisting.lib 2>&1 | FileCheck -check-prefix=LIBINPUT3 %s +// LIBINPUT3: error: no such file or directory: '/nonexisting.lib' +// LIBINPUT3: link.exe" +// LIBINPUT3-NOT: "/nonexisting.lib" + void f(); |

