>
>
>
V2516. MISRA. The 'if' ... 'else if' co…


V2516. MISRA. The 'if' ... 'else if' construct should be terminated with an 'else' statement.

This diagnostic rule is based on the software development guidelines developed by MISRA (Motor Industry Software Reliability Association).

Every 'if ... else if' series must end with an 'else' branch. The analyzer issues the warning when the ending 'else' is missing. An 'else' statement at the end indicates that all the possible cases have been considered, thus making the code clearer.

Here is an example of code triggering this warning:

if (condition)
{
  ....
}
else if (other_condition)
{
  ....
}

To eliminate the warning and indicate to the programmer maintaining the code that none of the previous conditions is true, add the ending 'else' branch. In this branch, you should include the necessary operations or comments.

if (condition)
{
  ....
}
else if (other_condition)
{
  ....
}
else
{
  // No action needed
}

This diagnostic is classified as:

  • MISRA-C-15.7
  • MISRA-CPP-6.4.2