AUTOSAR C++14 Rule M6-6-1
Any label referenced by a goto statement shall be declared in the same block, or in a block enclosing the goto statement
Description
Rule Definition
Any label referenced by a goto statement shall be declared in the same block, or in a block enclosing the goto statement.
Rationale
Using a goto statement to jump into nested blocks creates complex
control flow, which might cause developer confusion or unexpected results. To avoid
unexpected results, place the label the goto statement is referring to in
the same block or in a block that encloses the goto statement.
Polyspace Implementation
Polyspace® raises this defect when the goto destination is in a
different block than the goto statement. This defect is not raised if the
goto destination is in a block enclosing the goto
statement.
Troubleshooting
If you expect a rule violation but Polyspace does not report it, see Diagnose Why Coding Standard Violations Do Not Appear as Expected.
Examples
Check Information
| Group: Statements |
| Category: Required, Automated |
Version History
Introduced in R2019a