For PR789:
Make the sys::Path::getFileStatus function more efficient by having it
return a pointer to the FileStatus structure rather than copy it. Adjust
uses of the function accordingly. Also, fix some memory issues in sys::Path.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35476 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/tools/llvm-db/Commands.cpp b/tools/llvm-db/Commands.cpp
index da07769..5a8aa2f 100644
--- a/tools/llvm-db/Commands.cpp
+++ b/tools/llvm-db/Commands.cpp
@@ -50,11 +50,11 @@
 
   // If the program has been modified, reload it!
   sys::Path Program(Dbg.getProgramPath());
-  sys::FileStatus Status;
   std::string Err;
-  if (Program.getFileStatus(Status, &Err))
+  const sys::FileStatus *Status = Program.getFileStatus(false, &Err);
+  if (!Status)
     throw Err;
-  if (TheProgramInfo->getProgramTimeStamp() != Status.getTimestamp()) {
+  if (TheProgramInfo->getProgramTimeStamp() != Status->getTimestamp()) {
     std::cout << "'" << Program << "' has changed; re-reading program.\n";
 
     // Unload an existing program.  This kills the program if necessary.