[Diagnostics] Move warning into the subgroup (-Wenum-compare-conditional)
authorDavid Bolvansky <david.bolvansky@gmail.com>
Tue, 1 Oct 2019 15:44:38 +0000 (15:44 +0000)
committerDavid Bolvansky <david.bolvansky@gmail.com>
Tue, 1 Oct 2019 15:44:38 +0000 (15:44 +0000)
llvm-svn: 373345

clang/include/clang/Basic/DiagnosticGroups.td
clang/include/clang/Basic/DiagnosticSemaKinds.td
clang/test/Sema/warn-conditional-emum-types-mismatch.c

index 4c7ea3d..16de6a2 100644 (file)
@@ -563,8 +563,9 @@ def CoveredSwitchDefault : DiagGroup<"covered-switch-default">;
 def SwitchBool     : DiagGroup<"switch-bool">;
 def SwitchEnum     : DiagGroup<"switch-enum">;
 def Switch         : DiagGroup<"switch">;
+def EnumCompareConditional : DiagGroup<"enum-compare-conditional">;
 def EnumCompareSwitch : DiagGroup<"enum-compare-switch">;
-def EnumCompare       : DiagGroup<"enum-compare", [EnumCompareSwitch]>;
+def EnumCompare       : DiagGroup<"enum-compare", [EnumCompareConditional, EnumCompareSwitch]>;
 def ImplicitFallthroughPerFunction :
   DiagGroup<"implicit-fallthrough-per-function">;
 def ImplicitFallthrough  : DiagGroup<"implicit-fallthrough",
index d1b9aea..dffaf55 100644 (file)
@@ -6172,7 +6172,7 @@ def warn_comparison_of_mixed_enum_types : Warning<
 def warn_conditional_mixed_enum_types : Warning<
   "enumeration type mismatch in conditional expression"
   "%diff{ ($ and $)|}0,1">,
-  InGroup<EnumCompare>;
+  InGroup<EnumCompareConditional>;
 def warn_comparison_of_mixed_enum_types_switch : Warning<
   "comparison of two values with different enumeration types in switch statement"
   "%diff{ ($ and $)|}0,1">,
index 4325bb0..ec7f1b3 100644 (file)
@@ -1,5 +1,7 @@
+// RUN: %clang_cc1 -x c -fsyntax-only -verify -Wenum-compare-conditional %s
 // RUN: %clang_cc1 -x c -fsyntax-only -verify -Wenum-compare %s
 // RUN: %clang_cc1 -x c -fsyntax-only -verify  %s
+// RUN: %clang_cc1 -x c++ -fsyntax-only -verify -Wenum-compare-conditional %s
 // RUN: %clang_cc1 -x c++ -fsyntax-only -verify -Wenum-compare %s
 // RUN: %clang_cc1 -x c++ -fsyntax-only -verify %s