Semicolon on the same line as an if, for or while statement
Semicolon on same line results in empty body of if,
for or while statement
Description
This defect occurs when a semicolon on the same line as the last token of an
if, for or while statement results
in an empty body.
The checker makes an exception for the case where the if statement is
immediately followed by an else
statement:
if(condition);
else {
...
}Risk
The semicolon following the if, for or while statement often indicates a programming error. The spurious semicolon changes the execution flow and leads to unintended results.
Fix
If you want an empty body for the if, for or
while statement, wrap the semicolon in a block and place the block on a
new line to explicitly indicate your
intent:
if(condition)
{;}Examples
Result Information
| Group: Good practice |
| Language: C | C++ |
| Default: Off |
Command-Line Syntax:
SEMICOLON_CTRL_STMT_SAME_LINE |
| Impact: Low |
Version History
Introduced in R2020a
See Also
Find defects
(-checkers) | Macro terminated with a
semicolon | Incorrectly indented
statement | Macro with multiple
statements
Topics
- Interpret Bug Finder Results in Polyspace Desktop User Interface
- Interpret Bug Finder Results in Polyspace Access Web Interface (Polyspace Access)
- Address Results in Polyspace User Interface Through Bug Fixes or Justifications
- Address Results in Polyspace Access Through Bug Fixes or Justifications (Polyspace Access)