Forgot to mention there are three other patches that are needed to fix the bug introduced in r309607 (r309633, r309636 and r309640).
> On Aug 10, 2017, at 5:25 PM, Akira Hatanaka via cfe-commits > <cfe-commits@lists.llvm.org> wrote: > > Can we merge this to 5.0? > >> On Jul 31, 2017, at 12:16 PM, Akira Hatanaka via cfe-commits >> <cfe-commits@lists.llvm.org> wrote: >> >> Author: ahatanak >> Date: Mon Jul 31 12:16:40 2017 >> New Revision: 309607 >> >> URL: http://llvm.org/viewvc/llvm-project?rev=309607&view=rev >> Log: >> [Driver] Allow users to silence the warning that is issued when the >> deployment target is earlier than iOS 11 and the target is 32-bit. >> >> This is a follow-up to r306922. >> >> rdar://problem/32230613 >> >> Modified: >> cfe/trunk/include/clang/Basic/DiagnosticDriverKinds.td >> cfe/trunk/include/clang/Basic/DiagnosticGroups.td >> cfe/trunk/lib/Driver/ToolChains/Darwin.cpp >> cfe/trunk/test/Driver/darwin-version.c >> >> Modified: cfe/trunk/include/clang/Basic/DiagnosticDriverKinds.td >> URL: >> http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/DiagnosticDriverKinds.td?rev=309607&r1=309606&r2=309607&view=diff >> ============================================================================== >> --- cfe/trunk/include/clang/Basic/DiagnosticDriverKinds.td (original) >> +++ cfe/trunk/include/clang/Basic/DiagnosticDriverKinds.td Mon Jul 31 >> 12:16:40 2017 >> @@ -138,9 +138,10 @@ def err_drv_cc_print_options_failure : E >> def err_drv_lto_without_lld : Error<"LTO requires -fuse-ld=lld">; >> def err_drv_preamble_format : Error< >> "incorrect format for -preamble-bytes=N,END">; >> -def err_invalid_ios_deployment_target : Error< >> +def warn_invalid_ios_deployment_target : Warning< >> "invalid iOS deployment version '%0', iOS 10 is the maximum deployment " >> - "target for 32-bit targets">; >> + "target for 32-bit targets">, InGroup<InvalidIOSDeploymentTarget>, >> + DefaultError; >> def err_drv_conflicting_deployment_targets : Error< >> "conflicting deployment targets, both '%0' and '%1' are present in >> environment">; >> def err_arc_unsupported_on_runtime : Error< >> >> Modified: cfe/trunk/include/clang/Basic/DiagnosticGroups.td >> URL: >> http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/DiagnosticGroups.td?rev=309607&r1=309606&r2=309607&view=diff >> ============================================================================== >> --- cfe/trunk/include/clang/Basic/DiagnosticGroups.td (original) >> +++ cfe/trunk/include/clang/Basic/DiagnosticGroups.td Mon Jul 31 12:16:40 >> 2017 >> @@ -153,6 +153,9 @@ def GNUFlexibleArrayUnionMember : DiagGr >> def GNUFoldingConstant : DiagGroup<"gnu-folding-constant">; >> def FormatExtraArgs : DiagGroup<"format-extra-args">; >> def FormatZeroLength : DiagGroup<"format-zero-length">; >> + >> +def InvalidIOSDeploymentTarget : DiagGroup<"invalid-ios-deployment-target">; >> + >> def CXX1zCompatMangling : DiagGroup<"c++1z-compat-mangling">; >> // Name of this warning in GCC. >> def NoexceptType : DiagGroup<"noexcept-type", [CXX1zCompatMangling]>; >> >> Modified: cfe/trunk/lib/Driver/ToolChains/Darwin.cpp >> URL: >> http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Driver/ToolChains/Darwin.cpp?rev=309607&r1=309606&r2=309607&view=diff >> ============================================================================== >> --- cfe/trunk/lib/Driver/ToolChains/Darwin.cpp (original) >> +++ cfe/trunk/lib/Driver/ToolChains/Darwin.cpp Mon Jul 31 12:16:40 2017 >> @@ -1179,7 +1179,7 @@ void Darwin::AddDeploymentTarget(Derived >> Driver::GetReleaseVersion(iOSVersion->getValue(), Major, Minor, Micro, >> HadExtra) && >> Major > 10) >> - getDriver().Diag(diag::err_invalid_ios_deployment_target) >> + getDriver().Diag(diag::warn_invalid_ios_deployment_target) >> << iOSVersion->getAsString(Args); >> >> // Add a macro to differentiate between >> m(iphone|tv|watch)os-version-min=X.Y and >> @@ -1228,7 +1228,7 @@ void Darwin::AddDeploymentTarget(Derived >> Driver::GetReleaseVersion(iOSTarget.c_str(), Major, Minor, Micro, >> HadExtra) && >> Major > 10) >> - getDriver().Diag(diag::err_invalid_ios_deployment_target) >> + getDriver().Diag(diag::warn_invalid_ios_deployment_target) >> << std::string("IPHONEOS_DEPLOYMENT_TARGET=") + iOSTarget; >> >> // If there is no command-line argument to specify the Target version and >> @@ -1298,6 +1298,15 @@ void Darwin::AddDeploymentTarget(Derived >> break; >> case llvm::Triple::IOS: >> getTriple().getiOSVersion(Major, Minor, Micro); >> + >> + // iOS 10 is the maximum deployment target for 32-bit targets. If >> the >> + // inferred deployment target is iOS 11 or later, set it to 10.99. >> + if (getTriple().isArch32Bit() && Major >= 11) { >> + Major = 10; >> + Minor = 99; >> + Micro = 99; >> + } >> + >> OSTarget = &iOSTarget; >> break; >> case llvm::Triple::TvOS: >> @@ -1393,13 +1402,6 @@ void Darwin::AddDeploymentTarget(Derived >> HadExtra || Major >= 100 || Minor >= 100 || Micro >= 100) >> getDriver().Diag(diag::err_drv_invalid_version_number) >> << iOSVersion->getAsString(Args); >> - // iOS 10 is the maximum deployment target for 32-bit targets. If the >> - // inferred deployment target is iOS 11 or later, set it to 10.99. >> - if (getTriple().isArch32Bit() && Major >= 11) { >> - Major = 10; >> - Minor = 99; >> - Micro = 99; >> - } >> } else if (Platform == TvOS) { >> if (!Driver::GetReleaseVersion(TvOSVersion->getValue(), Major, Minor, >> Micro, HadExtra) || HadExtra || >> >> Modified: cfe/trunk/test/Driver/darwin-version.c >> URL: >> http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/darwin-version.c?rev=309607&r1=309606&r2=309607&view=diff >> ============================================================================== >> --- cfe/trunk/test/Driver/darwin-version.c (original) >> +++ cfe/trunk/test/Driver/darwin-version.c Mon Jul 31 12:16:40 2017 >> @@ -45,6 +45,10 @@ >> // RUN: FileCheck --check-prefix=CHECK-VERSION-IOS11 %s >> // CHECK-VERSION-IOS11: arm64-apple-ios11.1.0 >> >> +// RUN: %clang -target armv7-apple-ios9.0 -miphoneos-version-min=11.0 -c >> -Wno-invalid-ios-deployment-target -### %s 2>&1 | \ >> +// RUN: FileCheck --check-prefix=CHECK-VERSION-IOS12 %s >> +// CHECK-VERSION-IOS12: thumbv7-apple-ios11.0.0 >> + >> // RUN: %clang -target i686-apple-darwin8 -c %s -### 2>&1 | \ >> // RUN: FileCheck --check-prefix=CHECK-VERSION-OSX4 %s >> // RUN: %clang -target i686-apple-darwin9 -mmacosx-version-min=10.4 -c %s >> -### 2>&1 | \ >> >> >> _______________________________________________ >> cfe-commits mailing list >> cfe-commits@lists.llvm.org >> http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits > > _______________________________________________ > cfe-commits mailing list > cfe-commits@lists.llvm.org > http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits