summaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
authorRafael Espindola <rafael.espindola@gmail.com>2013-06-20 11:59:19 +0000
committerRafael Espindola <rafael.espindola@gmail.com>2013-06-20 11:59:19 +0000
commit436cd0cfcf227ba1010b96d9ecb1d62e391f3059 (patch)
treec23c6b4e257825fc355cd5beb372edd59bdf6218 /tools
parent7231625f75b4da1c87deb833cd9cad6c5ee95d95 (diff)
downloadllvm-436cd0cfcf227ba1010b96d9ecb1d62e391f3059.tar.gz
llvm-436cd0cfcf227ba1010b96d9ecb1d62e391f3059.tar.bz2
llvm-436cd0cfcf227ba1010b96d9ecb1d62e391f3059.tar.xz
Convert a use of sys::Path.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184412 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'tools')
-rw-r--r--tools/llvm-ar/llvm-ar.cpp26
1 files changed, 10 insertions, 16 deletions
diff --git a/tools/llvm-ar/llvm-ar.cpp b/tools/llvm-ar/llvm-ar.cpp
index 85f3517b58..fa07b9a9ab 100644
--- a/tools/llvm-ar/llvm-ar.cpp
+++ b/tools/llvm-ar/llvm-ar.cpp
@@ -286,24 +286,18 @@ ArchiveOperation parseCommandLine() {
// the operations that add/replace files to the archive ('q' and 'r')
bool buildPaths(bool checkExistence, std::string* ErrMsg) {
for (unsigned i = 0; i < Members.size(); i++) {
- sys::Path aPath;
- if (!aPath.set(Members[i]))
- fail(std::string("File member name invalid: ") + Members[i]);
+ std::string aPath = Members[i];
if (checkExistence) {
- bool Exists;
- if (sys::fs::exists(aPath.str(), Exists) || !Exists)
- fail(std::string("File does not exist: ") + Members[i]);
- std::string Err;
- sys::PathWithStatus PwS(aPath);
- const sys::FileStatus *si = PwS.getFileStatus(false, &Err);
- if (!si)
- fail(Err);
- if (si->isDir)
- fail(aPath.str() + " Is a directory");
-
- Paths.insert(aPath.str());
+ bool IsDirectory;
+ error_code EC = sys::fs::is_directory(aPath, IsDirectory);
+ if (EC)
+ fail(aPath + ": " + EC.message());
+ if (IsDirectory)
+ fail(aPath + " Is a directory");
+
+ Paths.insert(aPath);
} else {
- Paths.insert(aPath.str());
+ Paths.insert(aPath);
}
}
return false;