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
Since R2020a
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)