r310676.
On Thu, Aug 10, 2017 at 5:28 PM, Akira Hatanaka <ahatan...@apple.com> wrote: > 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