]> granicus.if.org Git - clang/commitdiff
[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)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@373345 91177308-0d34-0410-b5e6-96231b3b80d8

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

index 4c7ea3d4ea20d93dc1476f57d9e13df165ce008b..16de6a2d07efb65a344d2c0e620070b26d3bc3f4 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 d1b9aea0294ce3216539c1125b1dc295d71eac39..dffaf5592f78f817391876efc8fbe9d9377f1755 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 4325bb0c41c4afc5de60ea88534e22c41f669102..ec7f1b37ffeb95cd2e208e88114a35f0c46a0fd7 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