Skip to content

Commit 468d9c3

Browse files
authored
Merge pull request #19056 from compnerd/no-wait
Basic: use new signature for `ExecuteNoWait`
2 parents 1998436 + d425ec1 commit 468d9c3

File tree

1 file changed

+8
-4
lines changed

1 file changed

+8
-4
lines changed

lib/Basic/Default/TaskQueue.inc

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,8 @@
2424

2525
#include "swift/Basic/LLVM.h"
2626

27+
#include "llvm/ADT/StringExtras.h"
28+
2729
using namespace llvm::sys;
2830

2931
namespace swift {
@@ -92,13 +94,15 @@ bool TaskQueue::execute(TaskBeganCallback Began, TaskFinishedCallback Finished,
9294
SmallVector<const char *, 128> Argv;
9395
Argv.push_back(T->ExecPath);
9496
Argv.append(T->Args.begin(), T->Args.end());
95-
Argv.push_back(0);
97+
Argv.push_back(nullptr);
9698

97-
const char *const *envp = T->Env.empty() ? nullptr : T->Env.data();
99+
llvm::Optional<llvm::ArrayRef<llvm::StringRef>> Envp =
100+
T->Env.empty() ? decltype(Envp)(None)
101+
: decltype(Envp)(llvm::toStringRefArray(T->Env.data()));
98102

99103
bool ExecutionFailed = false;
100-
ProcessInfo PI = ExecuteNoWait(T->ExecPath, Argv.data(),
101-
(const char **)envp,
104+
ProcessInfo PI = ExecuteNoWait(T->ExecPath,
105+
llvm::toStringRefArray(Argv.data()), Envp,
102106
/*redirects*/None, /*memoryLimit*/0,
103107
/*ErrMsg*/nullptr, &ExecutionFailed);
104108
if (ExecutionFailed) {

0 commit comments

Comments
 (0)