@@ -304,7 +304,7 @@ impl OSVersion {
304
304
/// to raise the minimum OS version.
305
305
///
306
306
/// 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 >
308
308
pub fn minimum_deployment_target ( target : & Target ) -> Self {
309
309
let ( major, minor, patch) = match ( & * target. os , & * target. arch , & * target. env ) {
310
310
( "macos" , "aarch64" , _) => ( 11 , 0 , 0 ) ,
@@ -315,6 +315,9 @@ impl OSVersion {
315
315
( "ios" , _, "macabi" ) => ( 13 , 1 , 0 ) ,
316
316
( "tvos" , "aarch64" , "sim" ) => ( 14 , 0 , 0 ) ,
317
317
( "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 ) ,
318
321
( os, _, _) => return Self :: os_minimum_deployment_target ( os) ,
319
322
} ;
320
323
Self { major, minor, patch }
0 commit comments