porglezomp created this revision. porglezomp added reviewers: arphaman, t.p.northover, MaskRay, ahatanak. Herald added a project: All. porglezomp requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits.
Follow-up to D155123 <https://reviews.llvm.org/D155123>, uniformly handle cases where there are duplicate -mios-verion-min arguments. Repository: rG LLVM Github Monorepo https://reviews.llvm.org/D155407 Files: clang/lib/Driver/ToolChains/Darwin.cpp clang/test/Driver/macho-embedded.c Index: clang/test/Driver/macho-embedded.c =================================================================== --- clang/test/Driver/macho-embedded.c +++ clang/test/Driver/macho-embedded.c @@ -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 Index: clang/lib/Driver/ToolChains/Darwin.cpp =================================================================== --- clang/lib/Driver/ToolChains/Darwin.cpp +++ clang/lib/Driver/ToolChains/Darwin.cpp @@ -87,7 +87,7 @@ 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: clang/test/Driver/macho-embedded.c =================================================================== --- clang/test/Driver/macho-embedded.c +++ clang/test/Driver/macho-embedded.c @@ -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 Index: clang/lib/Driver/ToolChains/Darwin.cpp =================================================================== --- clang/lib/Driver/ToolChains/Darwin.cpp +++ clang/lib/Driver/ToolChains/Darwin.cpp @@ -87,7 +87,7 @@ 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);
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits