================
@@ -3893,9 +3893,12 @@ namespace {
     }
 
     void VisitCXXBindTemporaryExpr(const CXXBindTemporaryExpr *E) {
-      if (E->getTemporary()->getDestructor()->isTrivial()) {
-        Inherited::VisitStmt(E);
-        return;
+      if (const CXXDestructorDecl *DtorDecl =
+              E->getTemporary()->getDestructor()) {
+        if (DtorDecl->isTrivial()) {
+          Inherited::VisitStmt(E);
+          return;
+        }
----------------
Endilll wrote:

It looks like it's normal for `nullptr` to slip into `CXXTemporary` as 
destructor:
https://github.com/llvm/llvm-project/blob/9145514fde484916971e6bb147c18f9235a9f2b5/clang/lib/Sema/SemaExprCXX.cpp#L7611-L7630
So the check I added might be a check in the right place.

https://github.com/llvm/llvm-project/pull/90220
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to