Remove -Wsigned-enum-bitfield from -Wmost. On a wide set of ABIs, this warning
authorRichard Smith <richard-llvm@metafoo.co.uk>
Thu, 17 Nov 2016 02:16:09 +0000 (02:16 +0000)
committerRichard Smith <richard-llvm@metafoo.co.uk>
Thu, 17 Nov 2016 02:16:09 +0000 (02:16 +0000)
is completely irrelevant, producing (effectively) false positives, and -Wmost
is used pretty widely. We should somehow turn it back on by default when
targeting the MS ABI, however, since it indicates the program will not do as
intended in those cases.

(Or perhaps we should just treat enum bitfields as having the signedness of the
enum, even when targeting the MS ABI...)

llvm-svn: 287193

clang/include/clang/Basic/DiagnosticGroups.td
clang/include/clang/Basic/DiagnosticSemaKinds.td

index ad92b4d..b3968da 100644 (file)
@@ -662,7 +662,6 @@ def Most : DiagGroup<"most", [
     ReturnType,
     SelfAssignment,
     SelfMove,
-    SignedEnumBitfield,
     SizeofArrayArgument,
     SizeofArrayDecay,
     StringPlusInt,
index 32c9ca0..316cbe2 100644 (file)
@@ -3023,7 +3023,7 @@ def warn_int_to_void_pointer_cast : Warning<
 def warn_no_underlying_type_specified_for_enum_bitfield : Warning<
   "enums in the Microsoft ABI are signed integers by default; consider giving "
   "the enum %0 an unsigned underlying type to make this code portable">,
-  InGroup<DiagGroup<"signed-enum-bitfield">>, DefaultIgnore;
+  InGroup<SignedEnumBitfield>, DefaultIgnore;
 def warn_attribute_packed_for_bitfield : Warning<
   "'packed' attribute was ignored on bit-fields with single-byte alignment "
   "in older versions of GCC and Clang">,