15 #include "llvm/Config/config.h"
26 const char **env,
const StringRef **Redirects,
27 unsigned memoryLimit, std::string *ErrMsg);
30 const StringRef **redirects,
unsigned secondsToWait,
31 unsigned memoryLimit, std::string *ErrMsg,
32 bool *ExecutionFailed) {
34 if (
Execute(PI, Program, args, envp, redirects, memoryLimit, ErrMsg)) {
36 *ExecutionFailed =
false;
42 *ExecutionFailed =
true;
48 const char **envp,
const StringRef **redirects,
49 unsigned memoryLimit, std::string *ErrMsg,
50 bool *ExecutionFailed) {
53 *ExecutionFailed =
false;
54 if (!
Execute(PI, Program, args, envp, redirects, memoryLimit, ErrMsg))
56 *ExecutionFailed =
true;
int ExecuteAndWait(StringRef Program, const char **args, const char **env=0, const StringRef **redirects=0, unsigned secondsToWait=0, unsigned memoryLimit=0, std::string *ErrMsg=0, bool *ExecutionFailed=0)
ProcessInfo ExecuteNoWait(StringRef Program, const char **args, const char **env=0, const StringRef **redirects=0, unsigned memoryLimit=0, std::string *ErrMsg=0, bool *ExecutionFailed=0)
static bool Execute(ProcessInfo &PI, StringRef Program, const char **args, const char **env, const StringRef **Redirects, unsigned memoryLimit, std::string *ErrMsg)
int ReturnCode
The return code, set after execution.
This is the OS-specific separator for PATH like environment variables:
ProcessInfo Wait(const ProcessInfo &PI, unsigned SecondsToWait, bool WaitUntilTerminates, std::string *ErrMsg=0)