mirror of
https://github.com/apple/swift.git
synced 2025-12-14 20:36:38 +01:00
Serialization: restrict swiftmodules to distribution channels
There are scenarios where different compilers are distributed with compatible serialization format versions and the same tag. Distinguish swiftmodules in such a case by assigning them to different distribution channels. A compiler expecting a specific channel will only read swiftmodules from the same channel. The channels should be defined by downstream code as it is by definition vendor specific. For development, a no-channel compiler loads or defining the env var SWIFT_IGNORE_SWIFTMODULE_REVISION skips this new check. rdar://123731777
This commit is contained in:
@@ -316,6 +316,8 @@ struct ModuleRebuildInfo {
|
||||
return "compiled with a newer version of the compiler";
|
||||
case Status::RevisionIncompatible:
|
||||
return "compiled with a different version of the compiler";
|
||||
case Status::ChannelIncompatible:
|
||||
return "compiled for a different distribution channel";
|
||||
case Status::NotInOSSA:
|
||||
return "module was not built with OSSA";
|
||||
case Status::NoncopyableGenericsMismatch:
|
||||
|
||||
Reference in New Issue
Block a user