r309607 - [Driver] Allow users to silence the warning that is issued when the

Hans Wennborg via cfe-commits cfe-commits at lists.llvm.org
Thu Aug 10 18:46:42 PDT 2017


r310676.

On Thu, Aug 10, 2017 at 5:28 PM, Akira Hatanaka <ahatanaka at 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 at 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 at 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 at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
>
>
> _______________________________________________
> cfe-commits mailing list
> cfe-commits at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
>
>


More information about the cfe-commits mailing list