summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFilipe Cabecinhas <me@filcab.net>2014-05-23 05:52:12 +0000
committerFilipe Cabecinhas <me@filcab.net>2014-05-23 05:52:12 +0000
commitf97e200a98052d0f61711580b4f5142a59d9dc46 (patch)
tree1ec721a34d1e4305ab1c0f35bda52d18902eda95
parent1ed412cb72c3e0a6d5cfeaf756ab1fd014f1844b (diff)
downloadllvm-f97e200a98052d0f61711580b4f5142a59d9dc46.tar.gz
llvm-f97e200a98052d0f61711580b4f5142a59d9dc46.tar.bz2
llvm-f97e200a98052d0f61711580b4f5142a59d9dc46.tar.xz
llvm-ar: Output the file we errored on.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@209500 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--test/Object/ar-error.test5
-rw-r--r--tools/llvm-ar/llvm-ar.cpp2
2 files changed, 6 insertions, 1 deletions
diff --git a/test/Object/ar-error.test b/test/Object/ar-error.test
new file mode 100644
index 0000000000..9b8ddbd78f
--- /dev/null
+++ b/test/Object/ar-error.test
@@ -0,0 +1,5 @@
+Test if we get a proper error with a filename that doesn't exist
+
+RUN: not llvm-ar r %t.out.a sparkle.o %t 2>&1 | FileCheck %s
+
+CHECK: llvm-ar{{(.exe|.EXE)?}}: sparkle.o: No such file or directory
diff --git a/tools/llvm-ar/llvm-ar.cpp b/tools/llvm-ar/llvm-ar.cpp
index db95674d36..ed7291ea0c 100644
--- a/tools/llvm-ar/llvm-ar.cpp
+++ b/tools/llvm-ar/llvm-ar.cpp
@@ -516,7 +516,7 @@ computeInsertAction(ArchiveOperation Operation,
// We could try to optimize this to a fstat, but it is not a common
// operation.
sys::fs::file_status Status;
- failIfError(sys::fs::status(*MI, Status));
+ failIfError(sys::fs::status(*MI, Status), *MI);
if (Status.getLastModificationTime() < I->getLastModified()) {
if (PosName.empty())
return IA_AddOldMember;