diff options
author | Rafael Espindola <rafael.espindola@gmail.com> | 2013-06-12 20:58:35 +0000 |
---|---|---|
committer | Rafael Espindola <rafael.espindola@gmail.com> | 2013-06-12 20:58:35 +0000 |
commit | 9f1d9fd1964d82f3e801efb71518144492cdf290 (patch) | |
tree | fb6a689c0275a2c77086b695db3b5065ce454bf2 /lib/Support/Program.cpp | |
parent | 7e17024400941889b6fe1b178e5374f75c34d9ab (diff) | |
download | llvm-9f1d9fd1964d82f3e801efb71518144492cdf290.tar.gz llvm-9f1d9fd1964d82f3e801efb71518144492cdf290.tar.bz2 llvm-9f1d9fd1964d82f3e801efb71518144492cdf290.tar.xz |
Remove the program class.
It was only used to implement ExecuteAndWait and ExecuteNoWait. Expose just
those two functions and make Execute and Wait implementations details.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183864 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Support/Program.cpp')
-rw-r--r-- | lib/Support/Program.cpp | 38 |
1 files changed, 18 insertions, 20 deletions
diff --git a/lib/Support/Program.cpp b/lib/Support/Program.cpp index 201d5c0d30..ae7e291e2a 100644 --- a/lib/Support/Program.cpp +++ b/lib/Support/Program.cpp @@ -22,33 +22,31 @@ using namespace sys; //=== independent code. //===----------------------------------------------------------------------===// -int -Program::ExecuteAndWait(const Path& path, - const char** args, - const char** envp, - const Path** redirects, - unsigned secondsToWait, - unsigned memoryLimit, - std::string* ErrMsg, +static bool Execute(void *&Data, const Path &path, const char **args, + const char **env, const sys::Path **redirects, + unsigned memoryLimit, std::string *ErrMsg); + +static int Wait(void *&Data, const Path &path, unsigned secondsToWait, + std::string *ErrMsg); + +int sys::ExecuteAndWait(const Path &path, const char **args, const char **envp, + const Path **redirects, unsigned secondsToWait, + unsigned memoryLimit, std::string *ErrMsg, bool *ExecutionFailed) { - Program prg; - if (prg.Execute(path, args, envp, redirects, memoryLimit, ErrMsg)) { + void *Data; + if (Execute(Data, path, args, envp, redirects, memoryLimit, ErrMsg)) { if (ExecutionFailed) *ExecutionFailed = false; - return prg.Wait(path, secondsToWait, ErrMsg); + return Wait(Data, path, secondsToWait, ErrMsg); } if (ExecutionFailed) *ExecutionFailed = true; return -1; } -void -Program::ExecuteNoWait(const Path& path, - const char** args, - const char** envp, - const Path** redirects, - unsigned memoryLimit, - std::string* ErrMsg) { - Program prg; - prg.Execute(path, args, envp, redirects, memoryLimit, ErrMsg); +void sys::ExecuteNoWait(const Path &path, const char **args, const char **envp, + const Path **redirects, unsigned memoryLimit, + std::string *ErrMsg) { + void *Data; + Execute(Data, path, args, envp, redirects, memoryLimit, ErrMsg); } // Include the platform-specific parts of this class. |