Don't rely on destructed local storage. Thanks, Chris.
authorReid Spencer <rspencer@reidspencer.com>
Sun, 8 Apr 2007 19:59:07 +0000 (19:59 +0000)
committerReid Spencer <rspencer@reidspencer.com>
Sun, 8 Apr 2007 19:59:07 +0000 (19:59 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35769 91177308-0d34-0410-b5e6-96231b3b80d8

tools/llvm-ar/llvm-ar.cpp

index fc40f7886204d53fcc19aecc45a564e36c2771dd..7f6afc6bee28afda8c3497dd09d2bfb100041207 100644 (file)
@@ -281,8 +281,8 @@ recurseDirectories(const sys::Path& path,
     for (std::set<sys::Path>::iterator I = content.begin(), E = content.end();
          I != E; ++I) {
       // Make sure it exists and is a directory
-      const sys::FileStatus *Status =
-        sys::PathWithStatus(*I).getFileStatus(false, ErrMsg);
+      sys::PathWithStatus PwS(*I);
+      const sys::FileStatus *Status = PwS.getFileStatus(false, ErrMsg);
       if (!Status)
         return true;
       if (Status->isDir) {
@@ -310,8 +310,8 @@ bool buildPaths(bool checkExistence, std::string* ErrMsg) {
       if (!aPath.exists())
         throw std::string("File does not exist: ") + Members[i];
       std::string Err;
-      const sys::FileStatus *si = 
-        sys::PathWithStatus(aPath).getFileStatus(false, &Err);
+      sys::PathWithStatus PwS(aPath);
+      const sys::FileStatus *si = PwS.getFileStatus(false, &Err);
       if (!si)
         throw Err;
       if (si->isDir) {
@@ -647,8 +647,8 @@ doReplaceOrInsert(std::string* ErrMsg) {
 
     if (found != remaining.end()) {
       std::string Err;
-      const sys::FileStatus *si = 
-        sys::PathWithStatus(*found).getFileStatus(false, &Err);
+      sys::PathWithStatus PwS(*found); 
+      const sys::FileStatus *si = PwS.getFileStatus(false, &Err);
       if (!si)
         return true;
       if (si->isDir) {