[PATCH] D12865: Generating available_externally vtables and assume loads bugfix

David Majnemer via cfe-commits cfe-commits at lists.llvm.org
Mon Sep 14 16:21:33 PDT 2015


majnemer added inline comments.

================
Comment at: lib/CodeGen/ItaniumCXXABI.cpp:394-406
@@ +393,15 @@
+
+    for (const auto &VtableComponent : VtableLayout.vtable_components()) {
+      if (VtableComponent.isRTTIKind()) {
+        const CXXRecordDecl *RTTIDecl = VtableComponent.getRTTIDecl();
+        if (RTTIDecl->getVisibility() == Visibility::HiddenVisibility)
+          return true;
+      }
+      else if (VtableComponent.isUsedFunctionPointerKind()) {
+        const CXXMethodDecl *Method = VtableComponent.getFunctionDecl();
+        if (Method->getVisibility() == Visibility::HiddenVisibility &&
+            !Method->isDefined())
+          return true;
+      }
+    }
+    return false;
----------------
What about the `CK_DeletingDtorPointer` or `CK_CompleteDtorPointer` cases?


http://reviews.llvm.org/D12865





More information about the cfe-commits mailing list