[Serialization] When crashing, note if mix-and-match may be to blame.

That is, a Swift 3 target imported into a Swift 4 context or vice
versa. This requires serializing the compatibility mode explicitly,
instead of including it in the textual version string that's only
for debugging.
This commit is contained in:
Jordan Rose
2017-04-07 17:20:35 -07:00
parent 2e8179d43a
commit 7e8d642e8e
10 changed files with 68 additions and 12 deletions

View File

@@ -72,6 +72,9 @@ class ModuleFile : public LazyMemberLoader {
/// The target the module was built for.
StringRef TargetTriple;
/// The Swift compatibility version in use when this module was built.
StringRef CompatibilityVersion;
/// The data blob containing all of the module's identifiers.
StringRef IdentifierData;