V578. An odd bitwise operation detected. Consider verifying it.

The analyzer detected a potential error in an expression handling bits. A part of the expression is meaningless or excessive. Usually such errors occur due to a misprint.

Consider this sample:


The PARAMETER_DPDU constant is used twice here. In a correct code there must be two different constants: PARAMETER_DPDU and PARAMETER_DPDV. The letter 'U' resembles 'V' and that is why this misprint has occurred. This is the correct code:


Another example. There is no error here but the code is excessive:

if (((pfds[i].dwFlags & pPFD->dwFlags) & pPFD->dwFlags)
    != pPFD->dwFlags)

This is a shorter code:

if ((pfds[i].dwFlags & pPFD->dwFlags) != pPFD->dwFlags)

This diagnostic also generates a warning when the label name begins with "case". A space character is most probably missing. For example, the label "case1:" should be written as "case 1:".

This diagnostic is classified as:

You can look at examples of errors detected by the V578 diagnostic.

Bugs Found

Checked Projects
Collected Errors
14 435
This website uses cookies and other technology to provide you a more personalized experience. By continuing the view of our web-pages you accept the terms of using these files. If you don't want your personal data to be processed, please, leave this site. Learn More →