mirror of
https://github.com/apple/swift.git
synced 2025-12-21 12:14:44 +01:00
Teach the generic specializer how to create SILWitnessTable declarations if a specialized conformance does not have a witness table.
This also teaches IRGen not to emit WitnessTable declarations. This causes them to be left as unknown symbols in the resulting executable. Swift SVN r15361
This commit is contained in:
@@ -2694,6 +2694,10 @@ ProtocolInfo::getConformance(IRGenModule &IGM, CanType concreteType,
|
||||
}
|
||||
|
||||
void IRGenModule::emitSILWitnessTable(SILWitnessTable *wt) {
|
||||
// Don't emit a witness table if it is a declaration.
|
||||
if (wt->isDeclaration())
|
||||
return;
|
||||
|
||||
// Build the witnesses.
|
||||
SmallVector<llvm::Constant*, 32> witnesses;
|
||||
WitnessTableBuilder(*this, witnesses, wt)
|
||||
|
||||
Reference in New Issue
Block a user