[clang] [clang] Fix PS "selective" DLL import/export of vtable & typeinfo (PR #92579)

Andrew Ng via cfe-commits cfe-commits at lists.llvm.org
Wed May 22 02:04:50 PDT 2024


================
@@ -1793,6 +1793,37 @@ void ItaniumCXXABI::EmitDestructorCall(CodeGenFunction &CGF,
                             ThisTy, VTT, VTTTy, nullptr);
 }
 
+// Check if any non-inline method has the specified attribute.
+template <typename T>
+static bool CXXRecordNonInlineHasAttr(const CXXRecordDecl *RD) {
+  for (const auto *D : RD->noload_decls()) {
+    if (const auto *FD = dyn_cast<FunctionDecl>(D)) {
+      if (FD->isInlineSpecified() || FD->doesThisDeclarationHaveABody() ||
----------------
nga888 wrote:

Yes, I understand that they are not equivalent but the original code has used `isInlineSpecified()` for quite some time (has been downstream at Sony since 2015). Are you OK with this patch going in as is with a follow up to look into using `isInlined()`?

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


More information about the cfe-commits mailing list