]> granicus.if.org Git - clang/commitdiff
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...)

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@287193 91177308-0d34-0410-b5e6-96231b3b80d8

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

index ad92b4da68510576ba9c3c7db70d519c86db1ef1..b3968dabeb2cbc9a5a2c693efefe92da0ba0b119 100644 (file)
@@ -662,7 +662,6 @@ def Most : DiagGroup<"most", [
     ReturnType,
     SelfAssignment,
     SelfMove,
-    SignedEnumBitfield,
     SizeofArrayArgument,
     SizeofArrayDecay,
     StringPlusInt,
index 32c9ca03ee5c7dd77355bf93886687f211140372..316cbe2e7da8db9fe959b0a7c455cd4f12525ce6 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">,