MISRA C Rule 16.2 states:
"A switch label shall only be used when the most closely-enclosing
compound statement is the body of a switch statement".
The PROGRESS_VCPU local helper specifies a case that is directly
inside the compound statement of a for loop, hence violating the rule.
To avoid this, the construct is deviated with a text-based deviation.
No functional change.
Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
},
{
"id": "SAF-5-safe",
+ "analyser": {
+ "eclair": "MC3R1.R16.2"
+ },
+ "name": "MC3R1.R16.2: using a case label when the most closely-enclosing compound statement is not a switch statement",
+ "text": "A switch label enclosed by some compound statement that is not the body of a switch is permitted within local helper macros that are unlikely to be misused or misunderstood."
+ },
+ {
+ "id": "SAF-6-safe",
"analyser": {},
"name": "Sentinel",
"text": "Next ID to be used"
for_each_vcpu ( d, v )
{
+ /* SAF-5-safe MISRA C Rule 16.2: switch label enclosed by for loop */
PROGRESS_VCPU(teardown);
rc = vcpu_teardown(v);