@@ -304,7 +304,7 @@ impl OSVersion {
304304 /// to raise the minimum OS version.
305305 ///
306306 /// This matches what LLVM does, see in part:
307- /// <https://github.com/llvm/llvm-project/blob/llvmorg-18 .1.8 /llvm/lib/TargetParser/Triple.cpp#L1900-L1932 >
307+ /// <https://github.com/llvm/llvm-project/blob/llvmorg-21 .1.3 /llvm/lib/TargetParser/Triple.cpp#L2140-L2175 >
308308 pub fn minimum_deployment_target ( target : & Target ) -> Self {
309309 let ( major, minor, patch) = match ( & * target. os , & * target. arch , & * target. env ) {
310310 ( "macos" , "aarch64" , _) => ( 11 , 0 , 0 ) ,
@@ -315,6 +315,9 @@ impl OSVersion {
315315 ( "ios" , _, "macabi" ) => ( 13 , 1 , 0 ) ,
316316 ( "tvos" , "aarch64" , "sim" ) => ( 14 , 0 , 0 ) ,
317317 ( "watchos" , "aarch64" , "sim" ) => ( 7 , 0 , 0 ) ,
318+ // True Aarch64 on watchOS (instead of their Aarch64 Ilp32 called `arm64_32`) has been
319+ // available since Xcode 14, but it's only actually used more recently in watchOS 26.
320+ ( "watchos" , "aarch64" , "" ) if !target. llvm_target . starts_with ( "arm64_32" ) => ( 26 , 0 , 0 ) ,
318321 ( os, _, _) => return Self :: os_minimum_deployment_target ( os) ,
319322 } ;
320323 Self { major, minor, patch }
0 commit comments