[clang] [Clang] add -Wshift-bool warning to handle shifting of bool (PR #127336)
Mariya Podchishchaeva via cfe-commits
cfe-commits at lists.llvm.org
Tue Feb 18 02:38:51 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'">,
----------------
Fznamznon wrote:
I wonder if we should also suggest to change the shift to `b & !x` for right shifts?
https://github.com/llvm/llvm-project/pull/127336
More information about the cfe-commits
mailing list