================
@@ -1205,15 +1205,18 @@ CanThrowResult Sema::canThrow(const Stmt *S) {
if (DTy.isNull() || DTy->isDependentType()) {
CT = CT_Dependent;
} else {
- CT = canCalleeThrow(*this, DE, DE->getOperatorDelete());
- if (const RecordType *RT = DTy->getAs<RecordType>()) {
- const CXXRecordDecl *RD = cast<CXXRecordDecl>(RT->getDecl());
- const CXXDestructorDecl *DD = RD->getDestructor();
- if (DD)
- CT = mergeCanThrow(CT, canCalleeThrow(*this, DE, DD));
+ const FunctionDecl *OperatorDelete = DE->getOperatorDelete();
+ CT = canCalleeThrow(*this, DE, OperatorDelete);
+ if (!OperatorDelete->isDestroyingOperatorDelete()) {
+ if (const RecordType *RT = DTy->getAs<RecordType>()) {
----------------
AaronBallman wrote:
Good call; I simplified along these lines
https://github.com/llvm/llvm-project/pull/118687
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits