diff --git a/clang/lib/Driver/Job.cpp b/clang/lib/Driver/Job.cpp index b26a4ccdc3e6..765c05752d8f 100644 --- a/clang/lib/Driver/Job.cpp +++ b/clang/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,7 +308,7 @@ void Command::setEnvironment(llvm::ArrayRef NewEnvironment) { Environment.push_back(nullptr); } -int Command::Execute(ArrayRef> Redirects, +int Command::Execute(ArrayRef> Redirects, std::string *ErrMsg, bool *ExecutionFailed) const { SmallVector Argv; @@ -378,7 +379,7 @@ static bool ShouldFallback(int ExitCode) { return ExitCode != 0; } -int FallbackCommand::Execute(ArrayRef> Redirects, +int FallbackCommand::Execute(ArrayRef> Redirects, std::string *ErrMsg, bool *ExecutionFailed) const { int PrimaryStatus = Command::Execute(Redirects, ErrMsg, ExecutionFailed); if (!ShouldFallback(PrimaryStatus)) @@ -410,7 +411,7 @@ void ForceSuccessCommand::Print(raw_ostream &OS, const char *Terminator, OS << " || (exit 0)" << Terminator; } -int ForceSuccessCommand::Execute(ArrayRef> Redirects, +int ForceSuccessCommand::Execute(ArrayRef> Redirects, std::string *ErrMsg, bool *ExecutionFailed) const { int Status = Command::Execute(Redirects, ErrMsg, ExecutionFailed);