@@ -3747,7 +3747,7 @@ final class SwiftDriverTests: XCTestCase {
37473747
37483748 func testClangTargetForExplicitModule( ) throws {
37493749 #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" )
37513751
37523752 // Check -clang-target is on by default when explicit module is on.
37533753 try withTemporaryDirectory { path in
@@ -3756,17 +3756,37 @@ final class SwiftDriverTests: XCTestCase {
37563756 $0 <<< " import Swift "
37573757 }
37583758 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 " ,
37603779 " -sdk " , sdkRoot. pathString,
37613780 main. pathString] )
37623781 guard driver. isFrontendArgSupported ( . clangTarget) else {
37633782 throw XCTSkip ( " Skipping: compiler does not support '-clang-target' " )
37643783 }
37653784 let plannedJobs = try driver. planBuild ( )
37663785 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 " ) ] )
37683787 } )
37693788 }
3789+
37703790 // Check -disable-clang-target works
37713791 try withTemporaryDirectory { path in
37723792 let main = path. appending ( component: " Foo.swift " )
@@ -3775,7 +3795,7 @@ final class SwiftDriverTests: XCTestCase {
37753795 }
37763796 var driver = try Driver ( args: [ " swiftc " , " -disable-clang-target " ,
37773797 " -explicit-module-build " ,
3778- " -target " , " arm64-apple-ios14.0 " ,
3798+ " -target " , " arm64-apple-macos10.14 " ,
37793799 " -sdk " , sdkRoot. pathString,
37803800 main. pathString] )
37813801 guard driver. isFrontendArgSupported ( . clangTarget) else {
0 commit comments