================
@@ -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