[llvm-commits] CVS: llvm/include/llvm/System/Program.h

Reid Spencer reid at x10sys.com
Sun Aug 20 23:01:12 PDT 2006



Changes in directory llvm/include/llvm/System:

Program.h updated: 1.12 -> 1.13
---
Log message:

For PR797: http://llvm.org/PR797 :
Change interface for error recovery without exceptions.


---
Diffs of the changes:  (+10 -8)

 Program.h |   18 ++++++++++--------
 1 files changed, 10 insertions(+), 8 deletions(-)


Index: llvm/include/llvm/System/Program.h
diff -u llvm/include/llvm/System/Program.h:1.12 llvm/include/llvm/System/Program.h:1.13
--- llvm/include/llvm/System/Program.h:1.12	Sun Aug 20 21:04:43 2006
+++ llvm/include/llvm/System/Program.h	Mon Aug 21 01:00:58 2006
@@ -49,10 +49,7 @@
       /// called then a std::string is thrown.
       /// @returns an integer result code indicating the status of the program.
       /// A zero or positive value indicates the result code of the program. A
-      /// negative value is the signal number on which it terminated. A value of
-      /// -9999 indicates the program could not be executed.
-      /// @throws std::string on a variety of error conditions or if the invoked
-      /// program aborted abnormally.
+      /// negative value is the signal number on which it terminated. 
       /// @see FindProgrambyName
       /// @brief Executes the program with the given set of \p args.
       static int ExecuteAndWait(
@@ -70,16 +67,21 @@
           ///< should have a size of at least three. If the pointer in the array
           ///< are not null, then the inferior process's stdin(0), stdout(1),
           ///< and stderr(2) will be redirected to the corresponding Paths.
-        unsigned secondsToWait = 0 ///< If non-zero, this specifies the amount
+        unsigned secondsToWait = 0, ///< If non-zero, this specifies the amount
           ///< of time to wait for the child process to exit. If the time
           ///< expires, the child is killed and this call returns. If zero,
           ///< this function will wait until the child finishes or forever if
           ///< it doesn't.
+        std::string* ErrMsg = 0 ///< If non-zero, provides a pointer to a string
+          ///< instance in which error messages will be returned. If the string 
+          ///< is non-empty upon return an error occurred while invoking the
+          ///< program.
       );
       // These methods change the specified standard stream (stdin or stdout) to
-      // binary mode.
-      static void ChangeStdinToBinary();
-      static void ChangeStdoutToBinary();
+      // binary mode. They return true if an error occurred
+      static bool ChangeStdinToBinary();
+      static bool ChangeStdoutToBinary();
+    /// @}
   };
 }
 }






More information about the llvm-commits mailing list