diff --git a/include/llvm/System/Program.h b/include/llvm/System/Program.h index e37ef491e62..45fb9500cdf 100644 --- a/include/llvm/System/Program.h +++ b/include/llvm/System/Program.h @@ -22,8 +22,8 @@ namespace sys { /// This class provides an abstraction for programs that are executable by the /// operating system. It provides a platform generic way to find executable - /// programs from the path and to execute them. The sys::Path class is used to - /// locate the Program. + /// programs from the path and to execute them in various ways. The sys::Path + /// class is used to specify the location of the Program. /// @since 1.4 /// @brief An abstraction for finding and executing programs. class Program { @@ -43,22 +43,27 @@ namespace sys { /// waits for the program to exit. This function will block the current /// program until the invoked program exits. The invoked program will /// inherit the stdin, stdout, and stderr file descriptors, the - /// environment and other configuration settings of the inoking program. + /// environment and other configuration settings of the invoking program. /// If Path::executable() does not return true when this function is /// called then a std::string is thrown. - /// Path::executable() returns true. /// @param path A sys::Path object providing the path of the program to be /// executed. It is presumed this is the result of the FindProgramByName /// method. - /// @param args A vector of strings that are passed to the program. - /// The first element should *not* be the name of the program. /// @returns an integer result code indicating the status of the program. - /// @throws std::string on a variety of error conditions or if the invoked + /// @throws std::string on a variety of error conditions or if the invoked /// program aborted abnormally. /// @see FindProgrambyName - /// @brief Executes the program with the given set of \p arguments. - static int ExecuteAndWait(const Path& path, - const std::vector& args); + /// @brief Executes the program with the given set of \p args. + static int ExecuteAndWait( + const Path& path, ///< The path to the program to execute + const std::vector& args, + ///< A vector of strings that are passed to the program. + ///< The first element should *not* be the name of the program. + const char ** env = 0 + ///< An optional vector of strings to use for the program's + ///< environment. If not provided, the current program's environment + ///< will be used. + ); /// @} }; }