@@ -3626,20 +3626,24 @@ final class SwiftDriverTests: XCTestCase {
3626
3626
3627
3627
func testClangTargetForExplicitModule( ) throws {
3628
3628
#if os(macOS)
3629
+ let sdkRoot = testInputsPath. appending ( component: " SDKChecks " ) . appending ( component: " iPhoneOS.sdk " )
3630
+
3629
3631
// Check -clang-target is on by default when explicit module is on.
3630
3632
try withTemporaryDirectory { path in
3631
3633
let main = path. appending ( component: " Foo.swift " )
3632
3634
try localFileSystem. writeFileContents ( main) {
3633
3635
$0 <<< " import Swift "
3634
3636
}
3635
- var driver = try Driver ( args: [ " swiftc " , " -explicit-module-build " , " -target " ,
3636
- " x86_64-apple-macosx10.14 " , main. pathString] )
3637
+ var driver = try Driver ( args: [ " swiftc " , " -explicit-module-build " ,
3638
+ " -target " , " arm64-apple-ios14.0 " ,
3639
+ " -sdk " , sdkRoot. pathString,
3640
+ main. pathString] )
3637
3641
guard driver. isFrontendArgSupported ( . clangTarget) else {
3638
3642
throw XCTSkip ( " Skipping: compiler does not support '-clang-target' " )
3639
3643
}
3640
3644
let plannedJobs = try driver. planBuild ( )
3641
3645
XCTAssertTrue ( plannedJobs. contains { job in
3642
- job. commandLine. contains ( . flag( " -clang-target " ) )
3646
+ job. commandLine. contains ( subsequence : [ . flag( " -clang-target " ) , . flag ( " arm64-apple-ios13.0 " ) ] )
3643
3647
} )
3644
3648
}
3645
3649
// Check -disable-clang-target works
@@ -3649,8 +3653,10 @@ final class SwiftDriverTests: XCTestCase {
3649
3653
$0 <<< " import Swift "
3650
3654
}
3651
3655
var driver = try Driver ( args: [ " swiftc " , " -disable-clang-target " ,
3652
- " -explicit-module-build " , " -target " ,
3653
- " x86_64-apple-macosx10.14 " , main. pathString] )
3656
+ " -explicit-module-build " ,
3657
+ " -target " , " arm64-apple-ios14.0 " ,
3658
+ " -sdk " , sdkRoot. pathString,
3659
+ main. pathString] )
3654
3660
guard driver. isFrontendArgSupported ( . clangTarget) else {
3655
3661
throw XCTSkip ( " Skipping: compiler does not support '-clang-target' " )
3656
3662
}
@@ -3663,16 +3669,20 @@ final class SwiftDriverTests: XCTestCase {
3663
3669
}
3664
3670
3665
3671
func testDisableClangTargetForImplicitModule( ) throws {
3672
+ #if os(macOS)
3666
3673
var envVars = ProcessEnv . vars
3667
3674
envVars [ " SWIFT_DRIVER_LD_EXEC " ] = ld. nativePathString ( escaped: false )
3668
3675
3676
+ let sdkRoot = testInputsPath. appending ( component: " SDKChecks " ) . appending ( component: " iPhoneOS.sdk " )
3669
3677
var driver = try Driver ( args: [ " swiftc " , " -target " ,
3670
- " x86_64-apple-macosx10.14 " , " foo.swift " ] ,
3678
+ " arm64-apple-ios12.0 " , " foo.swift " ,
3679
+ " -sdk " , sdkRoot. pathString] ,
3671
3680
env: envVars)
3672
3681
let plannedJobs = try driver. planBuild ( )
3673
3682
XCTAssertEqual ( plannedJobs. count, 2 )
3674
- XCTAssert ( plannedJobs [ 0 ] . commandLine. contains ( . flag( " -target " ) ) )
3683
+ XCTAssertTrue ( plannedJobs [ 0 ] . commandLine. contains ( . flag( " -target " ) ) )
3675
3684
XCTAssertFalse ( plannedJobs [ 0 ] . commandLine. contains ( . flag( " -clang-target " ) ) )
3685
+ #endif
3676
3686
}
3677
3687
3678
3688
func testPCHasCompileInput( ) throws {
0 commit comments