diff options
Diffstat (limited to 'lib/Driver/Job.cpp')
-rw-r--r-- | lib/Driver/Job.cpp | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/lib/Driver/Job.cpp b/lib/Driver/Job.cpp index 8b85680f10b1..765c05752d8f 100644 --- a/lib/Driver/Job.cpp +++ b/lib/Driver/Job.cpp @@ -14,6 +14,7 @@ #include "clang/Driver/Tool.h" #include "clang/Driver/ToolChain.h" #include "llvm/ADT/ArrayRef.h" +#include "llvm/ADT/Optional.h" #include "llvm/ADT/STLExtras.h" #include "llvm/ADT/SmallString.h" #include "llvm/ADT/StringRef.h" @@ -307,8 +308,8 @@ void Command::setEnvironment(llvm::ArrayRef<const char *> NewEnvironment) { Environment.push_back(nullptr); } -int Command::Execute(const StringRef **Redirects, std::string *ErrMsg, - bool *ExecutionFailed) const { +int Command::Execute(ArrayRef<llvm::Optional<StringRef>> Redirects, + std::string *ErrMsg, bool *ExecutionFailed) const { SmallVector<const char*, 128> Argv; const char **Envp; @@ -378,8 +379,8 @@ static bool ShouldFallback(int ExitCode) { return ExitCode != 0; } -int FallbackCommand::Execute(const StringRef **Redirects, std::string *ErrMsg, - bool *ExecutionFailed) const { +int FallbackCommand::Execute(ArrayRef<llvm::Optional<StringRef>> Redirects, + std::string *ErrMsg, bool *ExecutionFailed) const { int PrimaryStatus = Command::Execute(Redirects, ErrMsg, ExecutionFailed); if (!ShouldFallback(PrimaryStatus)) return PrimaryStatus; @@ -410,7 +411,7 @@ void ForceSuccessCommand::Print(raw_ostream &OS, const char *Terminator, OS << " || (exit 0)" << Terminator; } -int ForceSuccessCommand::Execute(const StringRef **Redirects, +int ForceSuccessCommand::Execute(ArrayRef<llvm::Optional<StringRef>> Redirects, std::string *ErrMsg, bool *ExecutionFailed) const { int Status = Command::Execute(Redirects, ErrMsg, ExecutionFailed); |