diff options
Diffstat (limited to 'contrib/llvm/tools/clang/tools/driver')
-rw-r--r-- | contrib/llvm/tools/clang/tools/driver/cc1as_main.cpp | 10 | ||||
-rw-r--r-- | contrib/llvm/tools/clang/tools/driver/driver.cpp | 5 |
2 files changed, 7 insertions, 8 deletions
diff --git a/contrib/llvm/tools/clang/tools/driver/cc1as_main.cpp b/contrib/llvm/tools/clang/tools/driver/cc1as_main.cpp index 263751346b80..2fa8edb81ae4 100644 --- a/contrib/llvm/tools/clang/tools/driver/cc1as_main.cpp +++ b/contrib/llvm/tools/clang/tools/driver/cc1as_main.cpp @@ -212,13 +212,11 @@ bool AssemblerInvocation::CreateFromArgs(AssemblerInvocation &Opts, // Frontend Options if (Args.hasArg(OPT_INPUT)) { bool First = true; - for (arg_iterator it = Args.filtered_begin(OPT_INPUT), - ie = Args.filtered_end(); - it != ie; ++it, First = false) { - const Arg *A = it; - if (First) + for (const Arg *A : Args.filtered(OPT_INPUT)) { + if (First) { Opts.InputFile = A->getValue(); - else { + First = false; + } else { Diags.Report(diag::err_drv_unknown_argument) << A->getAsString(Args); Success = false; } diff --git a/contrib/llvm/tools/clang/tools/driver/driver.cpp b/contrib/llvm/tools/clang/tools/driver/driver.cpp index 61613028625b..626d006ac0d8 100644 --- a/contrib/llvm/tools/clang/tools/driver/driver.cpp +++ b/contrib/llvm/tools/clang/tools/driver/driver.cpp @@ -460,8 +460,9 @@ int main(int argc_, const char **argv_) { Res = TheDriver.ExecuteCompilation(*C, FailingCommands); // Force a crash to test the diagnostics. - if (::getenv("FORCE_CLANG_DIAGNOSTICS_CRASH")) { - Diags.Report(diag::err_drv_force_crash) << "FORCE_CLANG_DIAGNOSTICS_CRASH"; + if (TheDriver.GenReproducer) { + Diags.Report(diag::err_drv_force_crash) + << !::getenv("FORCE_CLANG_DIAGNOSTICS_CRASH"); // Pretend that every command failed. FailingCommands.clear(); |