[clang] More fixes for P3144R2 implementation (PR #149406)

Erich Keane via cfe-commits cfe-commits at lists.llvm.org
Fri Jul 18 12:38:54 PDT 2025


================
@@ -8392,17 +8392,19 @@ def ext_default_init_const : ExtWarn<
   "is a Microsoft extension">,
   InGroup<MicrosoftConstInit>;
 def err_delete_operand : Error<"cannot delete expression of type %0">;
+def err_delete_void_ptr_operand : Error<
+  "cannot delete expression with pointer-to-'void' type %0">;
 def ext_delete_void_ptr_operand : ExtWarn<
   "cannot delete expression with pointer-to-'void' type %0">,
   InGroup<DeleteIncomplete>;
 def err_ambiguous_delete_operand : Error<
   "ambiguous conversion of delete expression of type %0 to a pointer">;
 def warn_delete_incomplete : Warning<
-  "deleting pointer to incomplete type %0 is incompatible with C++2c"
+  "deleting pointer to incomplete %select{struct|union}0 %1 is incompatible with C++2c"
----------------
erichkeane wrote:

IMO, `class type` here is confusing in the case of the 'other' kinds.  That said, I don't see the value in saying anything other than `incomplete type`.  The fact that it is an `enum`, `class`, `struct`, `union`/etc type is not a helpful addition, and I'd say to just revert both of the diagnostics changes.



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


More information about the cfe-commits mailing list