Skip to content

Commit 641d954

Browse files
authored
Merge pull request #652 from apple/revert-651-revert-629-verify-swiftinterfaces-by-default
Verify emitted module interfaces by default (Take 2)
2 parents 909405a + fa379ca commit 641d954

File tree

2 files changed

+28
-3
lines changed

2 files changed

+28
-3
lines changed

Sources/SwiftDriver/Jobs/Planning.swift

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -405,7 +405,14 @@ extension Driver {
405405
parsedOptions.hasArgument(.enableLibraryEvolution),
406406
parsedOptions.hasFlag(positive: .verifyEmittedModuleInterface,
407407
negative: .noVerifyEmittedModuleInterface,
408-
default: false)
408+
default: true),
409+
410+
// Don't verify by default modules emitted from a merge-module job
411+
// as it's more likely to be invalid
412+
shouldCreateEmitModuleJob || compilerMode == .singleCompile ||
413+
parsedOptions.hasFlag(positive: .verifyEmittedModuleInterface,
414+
negative: .noVerifyEmittedModuleInterface,
415+
default: false)
409416
else { return }
410417

411418
func addVerifyJob(forPrivate: Bool) throws {

Tests/SwiftDriverTests/SwiftDriverTests.swift

Lines changed: 20 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3958,11 +3958,30 @@ final class SwiftDriverTests: XCTestCase {
39583958
XCTAssertEqual(plannedJobs.count, 2)
39593959
}
39603960

3961+
// Explicitly disabled
3962+
do {
3963+
var driver = try Driver(args: ["swiftc", "foo.swift", "-emit-module", "-module-name",
3964+
"foo", "-emit-module-interface",
3965+
"-enable-library-evolution",
3966+
"-no-verify-emitted-module-interface"])
3967+
let plannedJobs = try driver.planBuild()
3968+
XCTAssertEqual(plannedJobs.count, 2)
3969+
}
3970+
3971+
// Disabled by default in merge-module
3972+
do {
3973+
var driver = try Driver(args: ["swiftc", "foo.swift", "-emit-module", "-module-name",
3974+
"foo", "-emit-module-interface",
3975+
"-enable-library-evolution",
3976+
"-no-emit-module-separately"])
3977+
let plannedJobs = try driver.planBuild()
3978+
XCTAssertEqual(plannedJobs.count, 2)
3979+
}
3980+
39613981
// Emit-module separately
39623982
do {
39633983
var driver = try Driver(args: ["swiftc", "foo.swift", "-emit-module", "-module-name",
39643984
"foo", "-emit-module-interface",
3965-
"-verify-emitted-module-interface",
39663985
"-enable-library-evolution",
39673986
"-experimental-emit-module-separately"])
39683987
let plannedJobs = try driver.planBuild()
@@ -3983,7 +4002,6 @@ final class SwiftDriverTests: XCTestCase {
39834002
do {
39844003
var driver = try Driver(args: ["swiftc", "foo.swift", "-emit-module", "-module-name",
39854004
"foo", "-emit-module-interface",
3986-
"-verify-emitted-module-interface",
39874005
"-enable-library-evolution",
39884006
"-whole-module-optimization"])
39894007
let plannedJobs = try driver.planBuild()

0 commit comments

Comments
 (0)