[clang] [Clang] add -Wshift-bool warning to handle shifting of bool (PR #127336)

Aaron Ballman via cfe-commits cfe-commits at lists.llvm.org
Wed Feb 19 12:06:12 PST 2025


================
@@ -7115,6 +7115,9 @@ def warn_shift_result_sets_sign_bit : Warning<
   "signed shift result (%0) sets the sign bit of the shift expression's "
   "type (%1) and becomes negative">,
   InGroup<DiagGroup<"shift-sign-overflow">>, DefaultIgnore;
+def warn_shift_bool : Warning<
+  "%select{left|right}0 shifting a `bool` implicitly converts it to 'int'">,
+  InGroup<ShiftBool>, DefaultIgnore;
----------------
AaronBallman wrote:

```suggestion
  InGroup<DiagGroup<"shift-bool">>, DefaultIgnore;
```

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


More information about the cfe-commits mailing list