[clang] Add name for `ObjCInterface` in vTable (PR #166817)

via cfe-commits cfe-commits at lists.llvm.org
Thu Nov 6 10:04:15 PST 2025


llvmbot wrote:


<!--LLVM PR SUMMARY COMMENT-->

@llvm/pr-subscribers-clang

Author: Aneesh Kadiyala (ARandomDev99)

<details>
<summary>Changes</summary>

Related: #<!-- -->163601

This PR adds RTTI support for `ObjCInterface` in the vtable.

---
Full diff: https://github.com/llvm/llvm-project/pull/166817.diff


1 Files Affected:

- (modified) clang/lib/CIR/CodeGen/CIRGenItaniumCXXABI.cpp (+5-1) 


``````````diff
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<ObjCInterfaceType>(Ty)->getDecl()->getSuperClass()) {
+      return siClassTypeInfo;
+    } else {
+      return classTypeInfo;
+    }
     break;
 
   case Type::ObjCObjectPointer:

``````````

</details>


https://github.com/llvm/llvm-project/pull/166817


More information about the cfe-commits mailing list