[llvm-branch-commits] [clang] [Clang][Backport] Demote mixed enumeration arithmetic error to a warning (PR #131853)

Aaron Ballman via llvm-branch-commits llvm-branch-commits at lists.llvm.org
Wed Mar 19 04:51:31 PDT 2025


================
@@ -7567,9 +7567,13 @@ def warn_arith_conv_mixed_enum_types_cxx20 : Warning<
   "%sub{select_arith_conv_kind}0 "
   "different enumeration types%diff{ ($ and $)|}1,2 is deprecated">,
   InGroup<DeprecatedEnumEnumConversion>;
-def err_conv_mixed_enum_types_cxx26 : Error<
+
+def err_conv_mixed_enum_types: Error <
   "invalid %sub{select_arith_conv_kind}0 "
   "different enumeration types%diff{ ($ and $)|}1,2">;
+def warn_conv_mixed_enum_types_cxx26 : Warning <
+  err_conv_mixed_enum_types.Summary>,
+  InGroup<EnumEnumConversion>, DefaultError;
----------------
AaronBallman wrote:

I don't know of a reliable way to ensure the diagnostic is at the end of the list. I think putting it at the end of DiagnosticSemaKinds.td will suffice (we allocate diagnostic IDs in blocks based on the .td file they're in). However, I'm not certain that's a guarantee.

Perhaps we don't backport this?

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


More information about the llvm-branch-commits mailing list