V3109. The same sub-expression is present on both sides of the operator. The expression is incorrect or it can be simplified.

The analyzer detected identical subexpressions in the left and the right part of an expression with a comparison operator. This operation is incorrect or meaningless, or can be simplified.

Consider the following example:

if ((x – y) >= (x - z)) {};

The 'x' variable in this fragment is obviously not necessary and can be removed from both parts of the expression. This is what the simplified version of the code would look like:

if (y <= z) {};

The next example:

if (x1 == x1 + 1) {};

This code contains a true error, as the expression will be false at any value of the 'x1' variable. Perhaps the programmer made a typo, and the code was actually meant to look like this:

if (x2 == x1 + 1) {};

One more example:

if (x < x * y) {};

This expression can also be simplified by removing the 'x' variable:

if (y > 1) {};

Bugs Found

Checked Projects
Collected Errors
14 526
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 →