@@ -3586,20 +3586,24 @@ final class SwiftDriverTests: XCTestCase {
3586
3586
3587
3587
func testClangTargetForExplicitModule( ) throws {
3588
3588
#if os(macOS)
3589
+ let sdkRoot = testInputsPath. appending ( component: " SDKChecks " ) . appending ( component: " iPhoneOS.sdk " )
3590
+
3589
3591
// Check -clang-target is on by default when explicit module is on.
3590
3592
try withTemporaryDirectory { path in
3591
3593
let main = path. appending ( component: " Foo.swift " )
3592
3594
try localFileSystem. writeFileContents ( main) {
3593
3595
$0 <<< " import Swift "
3594
3596
}
3595
- var driver = try Driver ( args: [ " swiftc " , " -explicit-module-build " , " -target " ,
3596
- " x86_64-apple-macosx10.14 " , main. pathString] )
3597
+ var driver = try Driver ( args: [ " swiftc " , " -explicit-module-build " ,
3598
+ " -target " , " arm64-apple-ios14.0 " ,
3599
+ " -sdk " , sdkRoot. pathString,
3600
+ main. pathString] )
3597
3601
guard driver. isFrontendArgSupported ( . clangTarget) else {
3598
3602
throw XCTSkip ( " Skipping: compiler does not support '-clang-target' " )
3599
3603
}
3600
3604
let plannedJobs = try driver. planBuild ( )
3601
3605
XCTAssertTrue ( plannedJobs. contains { job in
3602
- job. commandLine. contains ( . flag( " -clang-target " ) )
3606
+ job. commandLine. contains ( subsequence : [ . flag( " -clang-target " ) , . flag ( " arm64-apple-ios13.0 " ) ] )
3603
3607
} )
3604
3608
}
3605
3609
// Check -disable-clang-target works
@@ -3609,8 +3613,10 @@ final class SwiftDriverTests: XCTestCase {
3609
3613
$0 <<< " import Swift "
3610
3614
}
3611
3615
var driver = try Driver ( args: [ " swiftc " , " -disable-clang-target " ,
3612
- " -explicit-module-build " , " -target " ,
3613
- " x86_64-apple-macosx10.14 " , main. pathString] )
3616
+ " -explicit-module-build " ,
3617
+ " -target " , " arm64-apple-ios14.0 " ,
3618
+ " -sdk " , sdkRoot. pathString,
3619
+ main. pathString] )
3614
3620
guard driver. isFrontendArgSupported ( . clangTarget) else {
3615
3621
throw XCTSkip ( " Skipping: compiler does not support '-clang-target' " )
3616
3622
}
@@ -3622,17 +3628,20 @@ final class SwiftDriverTests: XCTestCase {
3622
3628
#endif
3623
3629
}
3624
3630
3625
- func testDisableClangTargetForImplicitModule( ) throws {
3631
+ func testEnableClangTargetForImplicitModule( ) throws {
3632
+ #if os(macOS)
3626
3633
var envVars = ProcessEnv . vars
3627
3634
envVars [ " SWIFT_DRIVER_LD_EXEC " ] = ld. nativePathString ( escaped: false )
3628
3635
3636
+ let sdkRoot = testInputsPath. appending ( component: " SDKChecks " ) . appending ( component: " iPhoneOS.sdk " )
3629
3637
var driver = try Driver ( args: [ " swiftc " , " -target " ,
3630
- " x86_64 -apple-macosx10.14 " , " foo.swift " ] ,
3638
+ " arm64 -apple-ios12.0 " , " foo.swift " ] ,
3631
3639
env: envVars)
3632
3640
let plannedJobs = try driver. planBuild ( )
3633
3641
XCTAssertEqual ( plannedJobs. count, 2 )
3634
- XCTAssert ( plannedJobs [ 0 ] . commandLine. contains ( . flag( " -target " ) ) )
3635
- XCTAssertFalse ( plannedJobs [ 0 ] . commandLine. contains ( . flag( " -clang-target " ) ) )
3642
+ XCTAssertTrue ( plannedJobs [ 0 ] . commandLine. contains ( . flag( " -target " ) ) )
3643
+ XCTAssertTrue ( plannedJobs [ 0 ] . commandLine. contains ( subsequence: [ . flag( " -clang-target " ) , . flag( " arm64-apple-ios13.0 " ) ] ) )
3644
+ #endif
3636
3645
}
3637
3646
3638
3647
func testPCHasCompileInput( ) throws {
0 commit comments