@@ -471,7 +471,13 @@ swift::getSwiftRuntimeCompatibilityVersionForTarget(
471
471
return floorFor64 (llvm::VersionTuple (5 , 5 ));
472
472
return floorFor64 (llvm::VersionTuple (5 , 6 ));
473
473
} else if (Major == 13 ) {
474
- return floorFor64 (llvm::VersionTuple (5 , 7 ));
474
+ if (Minor <= 2 )
475
+ return floorFor64 (llvm::VersionTuple (5 , 7 ));
476
+ return floorFor64 (llvm::VersionTuple (5 , 8 ));
477
+ } else if (Major == 14 ) {
478
+ if (Minor <= 3 )
479
+ return floorFor64 (llvm::VersionTuple (5 , 9 ));
480
+ return floorFor64 (llvm::VersionTuple (5 , 10 ));
475
481
}
476
482
} else if (Triple.isiOS ()) { // includes tvOS
477
483
llvm::VersionTuple OSVersion = Triple.getiOSVersion ();
@@ -511,7 +517,13 @@ swift::getSwiftRuntimeCompatibilityVersionForTarget(
511
517
return floorForArchitecture (llvm::VersionTuple (5 , 5 ));
512
518
return floorForArchitecture (llvm::VersionTuple (5 , 6 ));
513
519
} else if (Major <= 16 ) {
514
- return floorForArchitecture (llvm::VersionTuple (5 , 7 ));
520
+ if (Minor <= 3 )
521
+ return floorForArchitecture (llvm::VersionTuple (5 , 7 ));
522
+ return floorForArchitecture (llvm::VersionTuple (5 , 8 ));
523
+ } else if (Major <= 17 ) {
524
+ if (Minor <= 3 )
525
+ return floorForArchitecture (llvm::VersionTuple (5 , 9 ));
526
+ return floorForArchitecture (llvm::VersionTuple (5 , 10 ));
515
527
}
516
528
} else if (Triple.isWatchOS ()) {
517
529
llvm::VersionTuple OSVersion = Triple.getWatchOSVersion ();
@@ -542,11 +554,25 @@ swift::getSwiftRuntimeCompatibilityVersionForTarget(
542
554
return floorFor64bits (llvm::VersionTuple (5 , 5 ));
543
555
return floorFor64bits (llvm::VersionTuple (5 , 6 ));
544
556
} else if (Major <= 9 ) {
545
- return floorFor64bits (llvm::VersionTuple (5 , 7 ));
557
+ if (Minor <= 3 )
558
+ return floorFor64bits (llvm::VersionTuple (5 , 7 ));
559
+ return floorFor64bits (llvm::VersionTuple (5 , 8 ));
560
+ } else if (Major <= 10 ) {
561
+ if (Minor <= 3 )
562
+ return floorFor64bits (llvm::VersionTuple (5 , 9 ));
563
+ return floorFor64bits (llvm::VersionTuple (5 , 10 ));
546
564
}
547
565
}
548
566
else if (Triple.isXROS ()) {
549
- return std::nullopt;
567
+ llvm::VersionTuple OSVersion = Triple.getOSVersion ();
568
+ unsigned Major = OSVersion.getMajor ();
569
+ unsigned Minor = OSVersion.getMinor ().value_or (0 );
570
+
571
+ if (Major <= 1 ) {
572
+ if (Minor <= 0 )
573
+ return llvm::VersionTuple (5 , 9 );
574
+ return llvm::VersionTuple (5 , 10 );
575
+ }
550
576
}
551
577
552
578
return std::nullopt;
0 commit comments