swift
4f66d792 - [IRGen] Narrow __objc_classrefs emission to type-erased ObjC generic classes

Commit
51 days ago
[IRGen] Narrow __objc_classrefs emission to type-erased ObjC generic classes The previous implementation emitted classref entries for all ObjC classes found in mangled type metadata strings, which created hard undefined symbol references that broke linking when the class wasn't available at link time (e.g. compile-only steps or libraries without the ObjC implementation linked). Narrow the check to isTypeErasedGenericClass() -- only ObjC lightweight-generic classes need classrefs here, since their type parameters are erased at runtime and the class name is resolved solely via objc_getClass() from the mangled metadata string.
Author
Committer
Parents
Loading