[clang] [clang] Add clang::preferred_type attribute for bitfields (PR #69104)

David Blaikie via cfe-commits cfe-commits at lists.llvm.org
Fri Oct 20 11:11:00 PDT 2023


================
@@ -3153,6 +3153,12 @@ def err_invalid_branch_protection_spec : Error<
   "invalid or misplaced branch protection specification '%0'">;
 def warn_unsupported_branch_protection_spec : Warning<
   "unsupported branch protection specification '%0'">, InGroup<BranchProtection>;
+def warn_attribute_underlying_type_mismatch : Warning<
+  "underlying type %0 of enumeration %1 doesn't match bit-field type %2">,
+  InGroup<BitFieldType>;
+def warn_attribute_bool_bitfield_width : Warning<
+  "bit-field that holds a boolean value should have width of 1 instead of %0">,
----------------
dwblaikie wrote:

Questionable whether this has sufficient bug-finding power. I mean, they're probably bugs, and the bug is that your struct ends up larger than you intended... which,  yeah, if you're packing things, then that's perhaps a useful diagnostic.

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


More information about the cfe-commits mailing list