Diagnose when trying to import non-ossa module to ossa when implicit modules are disabled

This commit is contained in:
Meghana Gupta
2024-10-28 16:09:52 -07:00
parent 10aebac25b
commit 51090e4bc4
2 changed files with 9 additions and 1 deletions

View File

@@ -901,6 +901,9 @@ ERROR(serialization_target_too_new_repl,none,
"deployment target of %0 %3: %4",
(StringRef, llvm::VersionTuple, Identifier, llvm::VersionTuple,
StringRef))
ERROR(serialization_non_ossa_module_incompatible, Fatal,
"cannot import non-OSSA module into an OSSA module",
(Identifier))
ERROR(serialization_fatal,Fatal,
"fatal error encountered while reading from module '%0'; "

View File

@@ -1190,7 +1190,12 @@ void swift::serialization::diagnoseSerializedASTLoadFailure(
moduleBufferID);
break;
case serialization::Status::NotInOSSA:
// soft reject, silently ignore.
// Diagnose only when explicit build modules is enabled
if (Ctx.SerializationOpts.ExplicitModuleBuild) {
Ctx.Diags.diagnose(diagLoc,
diag::serialization_non_ossa_module_incompatible,
ModuleName);
}
break;
case serialization::Status::RevisionIncompatible:
Ctx.Diags.diagnose(diagLoc, diag::serialization_module_incompatible_revision,