[clang] [Clang] Deleting an incomplete enum type is not an error (PR #118455)

Erich Keane via cfe-commits cfe-commits at lists.llvm.org
Tue Dec 3 06:29:00 PST 2024


================
@@ -540,6 +540,14 @@ namespace PR10504 {
   void f(A *x) { delete x; } // expected-warning {{delete called on 'PR10504::A' that is abstract but has non-virtual destructor}}
 }
 
+#if __cplusplus >= 201103L
+enum GH99278_1 { // expected-note {{definition of 'GH99278_1' is not complete until the closing '}'}}
+    zero = decltype(delete static_cast<GH99278_1*>(nullptr), 0){}
----------------
erichkeane wrote:

Yeah, if this doesnt' end up being UB, there isn't really value to diagnosing this.  If someone is willing to go through THESE level of machinations, I think we should leave them alone :) 

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


More information about the cfe-commits mailing list