================
@@ -13642,6 +13631,8 @@ bool 
ASTContext::classNeedsVectorDeletingDestructor(const CXXRecordDecl *RD) {
   if (!getTargetInfo().emitVectorDeletingDtors(getLangOpts()))
     return false;
   CXXDestructorDecl *Dtor = RD->getDestructor();
+  if (!Dtor || !Dtor->isVirtual())
+    return false;
----------------
Fznamznon wrote:

Cleaned up in 
https://github.com/llvm/llvm-project/pull/185653/commits/c7bbfc3d71f87edbead778b9d79355bc191e413a
 , thanks.

> This skips the call to RequireVectorDeletingDtor.count()

yeah, before this patch `setClassNeedsVectorDeletingDestructor()` without 
checking that the class actually needs vector deleting destructor, so at some 
point I started seeing fails and added this check and forgot to clean up the 
next check. After that I realized that 
`setClassNeedsVectorDeletingDestructor()` shouldn't be called if there is no 
virtual dtor but left this early exit because it makes sense IMO.

https://github.com/llvm/llvm-project/pull/185653
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to