Use Path::getFileStatus to get status-related info.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29444 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/tools/gccld/GenerateCode.cpp b/tools/gccld/GenerateCode.cpp
index fc674f7..63dda12 100644
--- a/tools/gccld/GenerateCode.cpp
+++ b/tools/gccld/GenerateCode.cpp
@@ -151,12 +151,9 @@
sys::Path LPath(LibPath);
// Make sure it exists and is a directory
- try {
- if (!LPath.exists() || !LPath.isDirectory())
- return false;
- } catch (std::string& xcptn) {
+ sys::FileStatus Status;
+ if (LPath.getFileStatus(Status) || !Status.isDir)
return false;
- }
// Grab the contents of the -L path
std::set<sys::Path> Files;
@@ -169,12 +166,13 @@
std::string dllsuffix = sys::Path::GetDLLSuffix();
for (; File != Files.end(); ++File) {
- if ( File->isDirectory() )
+ // Not a file?
+ if (File->getFileStatus(Status) || Status.isDir)
continue;
std::string path = File->toString();
- // Check for an ending '.dll,.so' or '.a' suffix as all
+ // Check for an ending '.dll', '.so' or '.a' suffix as all
// other files are not of interest to us here
if (path.find(dllsuffix, path.size()-dllsuffix.size()) == std::string::npos
&& path.find(".a", path.size()-2) == std::string::npos)