@@ -3643,6 +3643,24 @@ final class SwiftDriverTests: XCTestCase {
3643
3643
XCTAssertTrue ( plannedJobs [ 0 ] . commandLine. contains ( . flag( " -enable-default-cmo " ) ) )
3644
3644
}
3645
3645
3646
+ do {
3647
+ // -cross-module-optimization should supersede -enable-default-cmo
3648
+ var driver = try Driver ( args: [ " swiftc " , " foo.swift " , " bar.swift " , " -module-name " , " Test " , " -emit-module-path " , rebase ( " Test.swiftmodule " , at: root) , " -c " , " -o " , rebase ( " test.o " , at: root) , " -wmo " , " -O " , " -cross-module-optimization " ] )
3649
+ let plannedJobs = try driver. planBuild ( )
3650
+ XCTAssertEqual ( plannedJobs. count, 1 )
3651
+ XCTAssertFalse ( plannedJobs [ 0 ] . commandLine. contains ( . flag( " -enable-default-cmo " ) ) )
3652
+ XCTAssertTrue ( plannedJobs [ 0 ] . commandLine. contains ( . flag( " -cross-module-optimization " ) ) )
3653
+ }
3654
+
3655
+ do {
3656
+ // -enable-cmo-everything should supersede -enable-default-cmo
3657
+ var driver = try Driver ( args: [ " swiftc " , " foo.swift " , " bar.swift " , " -module-name " , " Test " , " -emit-module-path " , rebase ( " Test.swiftmodule " , at: root) , " -c " , " -o " , rebase ( " test.o " , at: root) , " -wmo " , " -O " , " -enable-cmo-everything " ] )
3658
+ let plannedJobs = try driver. planBuild ( )
3659
+ XCTAssertEqual ( plannedJobs. count, 1 )
3660
+ XCTAssertFalse ( plannedJobs [ 0 ] . commandLine. contains ( . flag( " -enable-default-cmo " ) ) )
3661
+ XCTAssertTrue ( plannedJobs [ 0 ] . commandLine. contains ( . flag( " -enable-cmo-everything " ) ) )
3662
+ }
3663
+
3646
3664
do {
3647
3665
// library-evolution builds can emit the module in a separate job.
3648
3666
var driver = try Driver ( args: [ " swiftc " , " foo.swift " , " bar.swift " , " -module-name " , " Test " , " -emit-module-path " , rebase ( " Test.swiftmodule " , at: root) , " -c " , " -o " , rebase ( " test.o " , at: root) , " -wmo " , " -O " , " -enable-library-evolution " ] )
@@ -3671,7 +3689,7 @@ final class SwiftDriverTests: XCTestCase {
3671
3689
}
3672
3690
3673
3691
do {
3674
- // Don't use emit-module-separetely as a linker.
3692
+ // Don't use emit-module-separately as a linker.
3675
3693
var driver = try Driver ( args: [ " swiftc " , " foo.sil " , " bar.sil " , " -module-name " , " Test " , " -emit-module-path " , " /foo/bar/Test.swiftmodule " , " -emit-library " , " -target " , " x86_64-apple-macosx10.15 " , " -wmo " , " -emit-module-separately-wmo " ] ,
3676
3694
env: envVars)
3677
3695
let plannedJobs = try driver. planBuild ( )
0 commit comments