File tree Expand file tree Collapse file tree 2 files changed +9
-3
lines changed Expand file tree Collapse file tree 2 files changed +9
-3
lines changed Original file line number Diff line number Diff line change @@ -452,6 +452,8 @@ extension Driver {
452
452
default: false )
453
453
else { return }
454
454
455
+ let optIn = env [ " ENABLE_DEFAULT_INTERFACE_VERIFIER " ] != nil ||
456
+ parsedOptions. hasArgument ( . verifyEmittedModuleInterface)
455
457
func addVerifyJob( forPrivate: Bool ) throws {
456
458
let isNeeded =
457
459
forPrivate
@@ -464,11 +466,11 @@ extension Driver {
464
466
let mergeInterfaceOutputs = emitModuleJob. outputs. filter { $0. type == outputType }
465
467
assert ( mergeInterfaceOutputs. count == 1 ,
466
468
" Merge module job should only have one swiftinterface output " )
467
- let job = try verifyModuleInterfaceJob ( interfaceInput: mergeInterfaceOutputs [ 0 ] )
469
+ let job = try verifyModuleInterfaceJob ( interfaceInput: mergeInterfaceOutputs [ 0 ] , optIn : optIn )
468
470
addJob ( job)
469
471
}
470
472
try addVerifyJob ( forPrivate: false )
471
- try addVerifyJob ( forPrivate: true )
473
+ try addVerifyJob ( forPrivate: true )
472
474
}
473
475
474
476
private mutating func addAutolinkExtractJob(
Original file line number Diff line number Diff line change 11
11
//===----------------------------------------------------------------------===//
12
12
13
13
extension Driver {
14
- mutating func verifyModuleInterfaceJob( interfaceInput: TypedVirtualPath ) throws -> Job {
14
+ mutating func verifyModuleInterfaceJob( interfaceInput: TypedVirtualPath , optIn : Bool ) throws -> Job {
15
15
var commandLine : [ Job . ArgTemplate ] = swiftCompilerPrefixArgs. map { Job . ArgTemplate. flag ( $0) }
16
16
var inputs : [ TypedVirtualPath ] = [ interfaceInput]
17
17
commandLine. appendFlags ( " -frontend " , " -typecheck-module-from-interface " )
@@ -26,6 +26,10 @@ extension Driver {
26
26
outputs. append ( TypedVirtualPath ( file: outputPath, type: . diagnostics) )
27
27
}
28
28
29
+ // TODO: remove this because we'd like module interface errors to fail the build.
30
+ if !optIn && isFrontendArgSupported ( . downgradeTypecheckInterfaceError) {
31
+ commandLine. appendFlag ( . downgradeTypecheckInterfaceError)
32
+ }
29
33
return Job (
30
34
moduleName: moduleOutputInfo. name,
31
35
kind: . verifyModuleInterface,
You can’t perform that action at this time.
0 commit comments