mirror of
https://github.com/apple/swift.git
synced 2025-12-21 12:14:44 +01:00
SILLinker: make sure to de-serialize base protocol witness tables in embedded mode
Fixes unresolved symbol linker errors or compiler crashes rdar://148538336
This commit is contained in:
@@ -342,8 +342,10 @@ void SILLinkerVisitor::visitProtocolConformance(
|
||||
// reading in most conformances until we need them for devirtualization.
|
||||
// However, we *must* pull in shared clang-importer-derived conformances
|
||||
// we potentially use, since we may not otherwise have a local definition.
|
||||
if (mustDeserializeProtocolConformance(Mod, c))
|
||||
if ((isEmbedded && referencedFromInitExistential) ||
|
||||
mustDeserializeProtocolConformance(Mod, c)) {
|
||||
visitProtocolConformance(c, referencedFromInitExistential);
|
||||
}
|
||||
};
|
||||
|
||||
// For each entry in the witness table...
|
||||
|
||||
Reference in New Issue
Block a user