[Driver] Warn about all instances -mios-version-min not just the last
authorCassie Jones <code@witchoflight.com>
Sun, 16 Jul 2023 23:45:30 +0000 (16:45 -0700)
committerCassie Jones <code@witchoflight.com>
Sun, 16 Jul 2023 23:45:49 +0000 (16:45 -0700)
Follow-up to D155123, uniformly handle cases where there are duplicate
-mios-verion-min arguments.

Reviewed By: MaskRay

Differential Revision: https://reviews.llvm.org/D155407

clang/lib/Driver/ToolChains/Darwin.cpp
clang/test/Driver/macho-embedded.c

index 0f9474c..a73f46b 100644 (file)
@@ -87,7 +87,7 @@ void darwin::setTripleTypeForMachOArchName(llvm::Triple &T, StringRef Str,
       ArchKind == llvm::ARM::ArchKind::ARMV7EM) {
     // Don't reject -mios-version-min= if we have an iOS triple.
     if (T.isiOS())
-      if (Arg *A = Args.getLastArgNoClaim(options::OPT_mios_version_min_EQ))
+      for (Arg *A : Args.filtered(options::OPT_mios_version_min_EQ))
         A->ignoreTargetSpecific();
 
     T.setOS(llvm::Triple::UnknownOS);
index 6b93b96..14b933b 100644 (file)
@@ -7,6 +7,7 @@
 // RUN: %clang -arch armv7em -target thumbv7-apple-darwin -### -c %s 2>&1 | FileCheck %s --check-prefix=CHECK-MACHO-EMBEDDED
 
 // RUN: %clang -arch armv7m --target=thumbv7-apple-ios -mios-version-min=5 -fdriver-only -c %s 2>&1 | FileCheck %s --check-prefix=CHECK-MACHO-EMBEDDED-DIAG
+// RUN: %clang -arch armv7m --target=thumbv7-apple-ios -mios-version-min=5 -mios-version-min=5 -fdriver-only -c %s 2>&1 | FileCheck %s --check-prefix=CHECK-MACHO-EMBEDDED-DIAG
 
 // CHECK-IOS: "-triple" "thumbv7" "thumbv7-apple-ios