C and C++


LANG.STRUCT.UULABEL : Unused Label

Summary

A goto label is not used as the target of any goto statement in the scope of the label.

Properties

Class Name Unused Label
Significance style
Mnemonic LANG.STRUCT.UULABEL
Categories
MisraC2023 MisraC2023:2.6 A function should not contain unused label declarations
Misra2012 Misra2012:2.6 A function should not contain unused label declarations
CWE CWE:561 Dead Code
CERT-C CERT-C:MSC12-C Detect and remove code that has no effect or is never executed
DISA-3r10 DISA-3r10:V-6149 The designer will ensure the application does not contain source code that is never invoked during operation, except for software components and libraries from approved third-party products.
Availability Available for C and C++.
Enabling Checks for this warning class are disabled by default. To enable them, add the following WARNING_FILTER rule to the project configuration file.
WARNING_FILTER += allow class="Unused Label"

Example

int lang_struct_uulabel(void){
    int i = 5;
    goto label1;  
  label1:                   /* corresponding goto statement is in scope  */
    i++;
    if (0) goto label2;
  label2:                   /* corresponding goto statement is in scope (though unreachable) */
    i++;
  label3: /* 'Unused Label' warning issued here */
    i++;
    return i;
}

Relevant Configuration File Parameters

The following configuration file parameters affect checks for this warning class.