aboutsummaryrefslogtreecommitdiff
path: root/contrib/llvm/tools/clang/tools/driver
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/llvm/tools/clang/tools/driver')
-rw-r--r--contrib/llvm/tools/clang/tools/driver/cc1as_main.cpp10
-rw-r--r--contrib/llvm/tools/clang/tools/driver/driver.cpp5
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();