@@ -3747,7 +3747,7 @@ final class SwiftDriverTests: XCTestCase {
3747
3747
3748
3748
func testClangTargetForExplicitModule( ) throws {
3749
3749
#if os(macOS)
3750
- let sdkRoot = testInputsPath. appending ( component: " SDKChecks " ) . appending ( component: " iPhoneOS .sdk" )
3750
+ let sdkRoot = testInputsPath. appending ( component: " SDKChecks " ) . appending ( component: " MacOSX10.15 .sdk" )
3751
3751
3752
3752
// Check -clang-target is on by default when explicit module is on.
3753
3753
try withTemporaryDirectory { path in
@@ -3756,17 +3756,37 @@ final class SwiftDriverTests: XCTestCase {
3756
3756
$0 <<< " import Swift "
3757
3757
}
3758
3758
var driver = try Driver ( args: [ " swiftc " , " -explicit-module-build " ,
3759
- " -target " , " arm64-apple-ios14.0 " ,
3759
+ " -target " , " arm64-apple-macos10.14 " ,
3760
+ " -sdk " , sdkRoot. pathString,
3761
+ main. pathString] )
3762
+ guard driver. isFrontendArgSupported ( . clangTarget) else {
3763
+ throw XCTSkip ( " Skipping: compiler does not support '-clang-target' " )
3764
+ }
3765
+ let plannedJobs = try driver. planBuild ( )
3766
+ XCTAssertTrue ( plannedJobs. contains { job in
3767
+ job. commandLine. contains ( subsequence: [ . flag( " -clang-target " ) , . flag( " arm64-apple-macos10.15 " ) ] )
3768
+ } )
3769
+ }
3770
+
3771
+ // Check -clang-target is handled correctly with the MacCatalyst remap.
3772
+ try withTemporaryDirectory { path in
3773
+ let main = path. appending ( component: " Foo.swift " )
3774
+ try localFileSystem. writeFileContents ( main) {
3775
+ $0 <<< " import Swift "
3776
+ }
3777
+ var driver = try Driver ( args: [ " swiftc " , " -explicit-module-build " ,
3778
+ " -target " , " arm64e-apple-ios13.0-macabi " ,
3760
3779
" -sdk " , sdkRoot. pathString,
3761
3780
main. pathString] )
3762
3781
guard driver. isFrontendArgSupported ( . clangTarget) else {
3763
3782
throw XCTSkip ( " Skipping: compiler does not support '-clang-target' " )
3764
3783
}
3765
3784
let plannedJobs = try driver. planBuild ( )
3766
3785
XCTAssertTrue ( plannedJobs. contains { job in
3767
- job. commandLine. contains ( subsequence: [ . flag( " -clang-target " ) , . flag( " arm64 -apple-ios13.0 " ) ] )
3786
+ job. commandLine. contains ( subsequence: [ . flag( " -clang-target " ) , . flag( " arm64e -apple-ios13.3-macabi " ) ] )
3768
3787
} )
3769
3788
}
3789
+
3770
3790
// Check -disable-clang-target works
3771
3791
try withTemporaryDirectory { path in
3772
3792
let main = path. appending ( component: " Foo.swift " )
@@ -3775,7 +3795,7 @@ final class SwiftDriverTests: XCTestCase {
3775
3795
}
3776
3796
var driver = try Driver ( args: [ " swiftc " , " -disable-clang-target " ,
3777
3797
" -explicit-module-build " ,
3778
- " -target " , " arm64-apple-ios14.0 " ,
3798
+ " -target " , " arm64-apple-macos10.14 " ,
3779
3799
" -sdk " , sdkRoot. pathString,
3780
3800
main. pathString] )
3781
3801
guard driver. isFrontendArgSupported ( . clangTarget) else {
0 commit comments