[clang] [Clang] Fix constexpr-ness on implicitly deleted destructors (PR #116359)

via cfe-commits cfe-commits at lists.llvm.org
Wed Nov 27 02:45:18 PST 2024


================
@@ -890,6 +890,13 @@ class CXXRecordDecl : public RecordDecl {
             needsOverloadResolutionForDestructor()) &&
            "destructor should not be deleted");
     data().DefaultedDestructorIsDeleted = true;
+    // C++23 [dcl.constexpr]p3.2:
+    //   if the function is a constructor or destructor, its class does not have
+    //   any virtual base classes.
+    // C++20 [dcl.constexpr]p5:
+    //   The definition of a constexpr destructor whose function-body is
+    //   [not = delete] shall additionally satisfy...
----------------
cor3ntin wrote:

```suggestion
    //   not = delete shall additionally satisfy...
```

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


More information about the cfe-commits mailing list