From 208eecd57fd7f2b2072f70f8fe81f1f5dd68267a Mon Sep 17 00:00:00 2001 From: Alexander Kornienko Date: Wed, 13 Sep 2017 17:03:37 +0000 Subject: Convenience/safety fix for llvm::sys::Execute(And|No)Wait Summary: Change the type of the Redirects parameter of llvm::sys::ExecuteAndWait, ExecuteNoWait and other APIs that wrap them from `const StringRef **` to `ArrayRef>`, which is safer and simplifies the use of these APIs (no more local StringRef variables just to get a pointer to). Corresponding clang changes will be posted as a separate patch. Reviewers: bkramer Reviewed By: bkramer Subscribers: vsk, llvm-commits Differential Revision: https://reviews.llvm.org/D37563 llvm-svn: 313155 --- llvm/lib/Support/GraphWriter.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'llvm/lib/Support/GraphWriter.cpp') diff --git a/llvm/lib/Support/GraphWriter.cpp b/llvm/lib/Support/GraphWriter.cpp index e04bd8bb3b9..fd7fab08278 100644 --- a/llvm/lib/Support/GraphWriter.cpp +++ b/llvm/lib/Support/GraphWriter.cpp @@ -96,7 +96,7 @@ static bool ExecGraphViewer(StringRef ExecPath, std::vector &args, std::string &ErrMsg) { assert(args.back() == nullptr); if (wait) { - if (sys::ExecuteAndWait(ExecPath, args.data(), nullptr, nullptr, 0, 0, + if (sys::ExecuteAndWait(ExecPath, args.data(), nullptr, {}, 0, 0, &ErrMsg)) { errs() << "Error: " << ErrMsg << "\n"; return true; @@ -104,7 +104,7 @@ static bool ExecGraphViewer(StringRef ExecPath, std::vector &args, sys::fs::remove(Filename); errs() << " done. \n"; } else { - sys::ExecuteNoWait(ExecPath, args.data(), nullptr, nullptr, 0, &ErrMsg); + sys::ExecuteNoWait(ExecPath, args.data(), nullptr, {}, 0, &ErrMsg); errs() << "Remember to erase graph file: " << Filename << "\n"; } return false; -- cgit v1.2.3