MISRA C:2012 Rule 2.3

A project should not contain unused type declarations

Description

This checker is deactivated in a default Polyspace® as You Code analysis. See Checkers Deactivated in Polyspace as You Code Default Analysis (Polyspace Bug Finder Access).

Rule Definition

A project should not contain unused type declarations.

Rationale

If a type is declared but not used, a reviewer does not know if the type is redundant or if it is unused by mistake.

Additional Message in Report

A project should not contain unused type declarations: type XX is not used.

Troubleshooting

If you expect a rule violation but do not see it, refer to Coding Standard Violations Not Displayed.

Examples

expand all

signed short unusedType (void){

    typedef signed short myType;   /* Non-compliant */
    return 67;

}

signed short usedType (void){

    typedef signed short myType;  /* Compliant */
    myType tempVar = 67;
    return tempVar;

}

In this example, in function unusedType, the typedef statement defines a new local type myType. However, this type is never used in the function. Therefore, the rule is violated.

The rule is not violated in the function usedType because the new type myType is used.

Check Information

Group: Unused Code
Category: Advisory
AGC Category: Readability
Introduced in R2014b