@@ -445,17 +445,27 @@ extension Driver {
445445 parsedOptions. getLastArgument ( . libraryLevel) ? . asSingle == " api "
446446
447447 guard
448- parsedOptions. hasArgument ( . enableLibraryEvolution) ,
449- parsedOptions. hasFlag ( positive: . verifyEmittedModuleInterface,
450- negative: . noVerifyEmittedModuleInterface,
451- default: onByDefault) ,
448+ // Only verify modules with library evolution.
449+ parsedOptions. hasArgument ( . enableLibraryEvolution) ,
450+
451+ // Only verify when requested, on by default and not disabled.
452+ parsedOptions. hasFlag ( positive: . verifyEmittedModuleInterface,
453+ negative: . noVerifyEmittedModuleInterface,
454+ default: onByDefault) ,
452455
453456 // Don't verify by default modules emitted from a merge-module job
454457 // as it's more likely to be invalid.
455458 emitModuleSeparately || compilerMode == . singleCompile ||
456- parsedOptions. hasFlag ( positive: . verifyEmittedModuleInterface,
457- negative: . noVerifyEmittedModuleInterface,
458- default: false )
459+ parsedOptions. hasFlag ( positive: . verifyEmittedModuleInterface,
460+ negative: . noVerifyEmittedModuleInterface,
461+ default: false ) ,
462+
463+ // Don't verify by default modules emitting a compatibility header. This is
464+ // unsupported as the headers are merged after all archs are built. rdar://90864986
465+ self . objcGeneratedHeaderPath == nil ||
466+ parsedOptions. hasFlag ( positive: . verifyEmittedModuleInterface,
467+ negative: . noVerifyEmittedModuleInterface,
468+ default: false )
459469 else { return }
460470
461471 let optIn = env [ " ENABLE_DEFAULT_INTERFACE_VERIFIER " ] != nil ||
0 commit comments