@@ -3685,7 +3685,7 @@ final class SwiftDriverTests: XCTestCase {
3685
3685
3686
3686
func testClangTargetForExplicitModule( ) throws {
3687
3687
#if os(macOS)
3688
- let sdkRoot = testInputsPath. appending ( component: " SDKChecks " ) . appending ( component: " iPhoneOS .sdk" )
3688
+ let sdkRoot = testInputsPath. appending ( component: " SDKChecks " ) . appending ( component: " MacOSX10.15 .sdk" )
3689
3689
3690
3690
// Check -clang-target is on by default when explicit module is on.
3691
3691
try withTemporaryDirectory { path in
@@ -3694,17 +3694,37 @@ final class SwiftDriverTests: XCTestCase {
3694
3694
$0 <<< " import Swift "
3695
3695
}
3696
3696
var driver = try Driver ( args: [ " swiftc " , " -explicit-module-build " ,
3697
- " -target " , " arm64-apple-ios14.0 " ,
3697
+ " -target " , " arm64-apple-macos10.14 " ,
3698
+ " -sdk " , sdkRoot. pathString,
3699
+ main. pathString] )
3700
+ guard driver. isFrontendArgSupported ( . clangTarget) else {
3701
+ throw XCTSkip ( " Skipping: compiler does not support '-clang-target' " )
3702
+ }
3703
+ let plannedJobs = try driver. planBuild ( )
3704
+ XCTAssertTrue ( plannedJobs. contains { job in
3705
+ job. commandLine. contains ( subsequence: [ . flag( " -clang-target " ) , . flag( " arm64-apple-macos10.15 " ) ] )
3706
+ } )
3707
+ }
3708
+
3709
+ // Check -clang-target is handled correctly with the MacCatalyst remap.
3710
+ try withTemporaryDirectory { path in
3711
+ let main = path. appending ( component: " Foo.swift " )
3712
+ try localFileSystem. writeFileContents ( main) {
3713
+ $0 <<< " import Swift "
3714
+ }
3715
+ var driver = try Driver ( args: [ " swiftc " , " -explicit-module-build " ,
3716
+ " -target " , " arm64e-apple-ios13.0-macabi " ,
3698
3717
" -sdk " , sdkRoot. pathString,
3699
3718
main. pathString] )
3700
3719
guard driver. isFrontendArgSupported ( . clangTarget) else {
3701
3720
throw XCTSkip ( " Skipping: compiler does not support '-clang-target' " )
3702
3721
}
3703
3722
let plannedJobs = try driver. planBuild ( )
3704
3723
XCTAssertTrue ( plannedJobs. contains { job in
3705
- job. commandLine. contains ( subsequence: [ . flag( " -clang-target " ) , . flag( " arm64 -apple-ios13.0 " ) ] )
3724
+ job. commandLine. contains ( subsequence: [ . flag( " -clang-target " ) , . flag( " arm64e -apple-ios13.3-macabi " ) ] )
3706
3725
} )
3707
3726
}
3727
+
3708
3728
// Check -disable-clang-target works
3709
3729
try withTemporaryDirectory { path in
3710
3730
let main = path. appending ( component: " Foo.swift " )
@@ -3713,7 +3733,7 @@ final class SwiftDriverTests: XCTestCase {
3713
3733
}
3714
3734
var driver = try Driver ( args: [ " swiftc " , " -disable-clang-target " ,
3715
3735
" -explicit-module-build " ,
3716
- " -target " , " arm64-apple-ios14.0 " ,
3736
+ " -target " , " arm64-apple-macos10.14 " ,
3717
3737
" -sdk " , sdkRoot. pathString,
3718
3738
main. pathString] )
3719
3739
guard driver. isFrontendArgSupported ( . clangTarget) else {
0 commit comments