diff --git a/clang/lib/CIR/CodeGen/CIRGenItaniumCXXABI.cpp b/clang/lib/CIR/CodeGen/CIRGenItaniumCXXABI.cpp index f603f5ec4383d..817da3d90172d 100644 --- a/clang/lib/CIR/CodeGen/CIRGenItaniumCXXABI.cpp +++ b/clang/lib/CIR/CodeGen/CIRGenItaniumCXXABI.cpp @@ -983,7 +983,11 @@ const char *vTableClassNameForType(const CIRGenModule &cgm, const Type *ty) { break; case Type::ObjCInterface: - cgm.errorNYI("VTableClassNameForType: ObjCInterface"); + if (cast(Ty)->getDecl()->getSuperClass()) { + return siClassTypeInfo; + } else { + return classTypeInfo; + } break; case Type::ObjCObjectPointer: