Skip to content

Commit 51090e4

Browse files
committed
Diagnose when trying to import non-ossa module to ossa when implicit modules are disabled
1 parent 10aebac commit 51090e4

File tree

2 files changed

+9
-1
lines changed

2 files changed

+9
-1
lines changed

include/swift/AST/DiagnosticsSema.def

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -901,6 +901,9 @@ ERROR(serialization_target_too_new_repl,none,
901901
"deployment target of %0 %3: %4",
902902
(StringRef, llvm::VersionTuple, Identifier, llvm::VersionTuple,
903903
StringRef))
904+
ERROR(serialization_non_ossa_module_incompatible, Fatal,
905+
"cannot import non-OSSA module into an OSSA module",
906+
(Identifier))
904907

905908
ERROR(serialization_fatal,Fatal,
906909
"fatal error encountered while reading from module '%0'; "

lib/Serialization/SerializedModuleLoader.cpp

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1190,7 +1190,12 @@ void swift::serialization::diagnoseSerializedASTLoadFailure(
11901190
moduleBufferID);
11911191
break;
11921192
case serialization::Status::NotInOSSA:
1193-
// soft reject, silently ignore.
1193+
// Diagnose only when explicit build modules is enabled
1194+
if (Ctx.SerializationOpts.ExplicitModuleBuild) {
1195+
Ctx.Diags.diagnose(diagLoc,
1196+
diag::serialization_non_ossa_module_incompatible,
1197+
ModuleName);
1198+
}
11941199
break;
11951200
case serialization::Status::RevisionIncompatible:
11961201
Ctx.Diags.diagnose(diagLoc, diag::serialization_module_incompatible_revision,

0 commit comments

Comments
 (0)