xgupta added a comment. In D142609#4507696 <https://reviews.llvm.org/D142609#4507696>, @nathanchance wrote:
> I took the most recent version for a spin against the Linux kernel. The > couple of issues that a previous revision of the warning flagged > (https://github.com/ClangBuiltLinux/linux/issues/1806, > https://github.com/ClangBuiltLinux/linux/issues/1807) are no longer visible > (that seems intentional because both of those came from macro expressions) > but I see a new one along a similar line as those: > > https://elixir.bootlin.com/linux/v6.5-rc2/source/drivers/gpu/drm/v3d/v3d_drv.h#L343 > > In file included from drivers/gpu/drm/v3d/v3d_bo.c:25: > drivers/gpu/drm/v3d/v3d_drv.h:343:24: warning: use of logical '&&' with > constant operand [-Wconstant-logical-operand] > 343 | if (NSEC_PER_SEC % HZ && > | ~~~~~~~~~~~~~~~~~ ^ > drivers/gpu/drm/v3d/v3d_drv.h:343:24: note: use '&' for a bitwise operation > 343 | if (NSEC_PER_SEC % HZ && > | ^~ > | & > drivers/gpu/drm/v3d/v3d_drv.h:343:24: note: remove constant to silence this > warning > 1 warning generated. > > Another minimized example showing how the warning can trigger with different > configurations: > > $ cat x.c > #define A 1000 > #define B 300 > #define C 250 > #define D 100 > > int bar(void); > int baz(void); > > int foo(void) > { > if (A % B && bar()) // 1000 % 300 = 100, warning > return -3; > > if (A % C && bar()) // 1000 % 250 = 0, no warning > return -2; > > if (A % D && bar()) // 1000 % 100 = 0, no warning > return -1; > > return baz(); > } > > $ clang -Wall -fsyntax-only x.c > x.c:11:12: warning: use of logical '&&' with constant operand > [-Wconstant-logical-operand] > 11 | if (A % B && bar()) > | ~~~~~ ^ > x.c:11:12: note: use '&' for a bitwise operation > 11 | if (A % B && bar()) > | ^~ > | & > x.c:11:12: note: remove constant to silence this warning > 1 warning generated. > > I am sure we can send a patch making that a boolean expression (although it > is duplicated in a few places it seems so multiple patches will be needed) > but I figured I would report it just in case there was something that should > be changed with the warning, since I see there was already some discussion > around not warning for macros and this seems along a similar line. WDYT @xbolva00, It is a valid warning or more modification is required in the patch? CHANGES SINCE LAST ACTION https://reviews.llvm.org/D142609/new/ https://reviews.llvm.org/D142609 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits