Main Content

MISRA C:2012 Rule 2.5

A project should not contain unused macro definitions

Description

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

Rule Definition

A project should not contain unused macro definitions.

Rationale

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

Troubleshooting

If you expect a rule violation but do not see it, refer to Diagnose Why Coding Standard Violations Do Not Appear as Expected.

Examples

expand all

void use_macro (void)
{
    #define SIZE 4
    #define DATA 3//Noncompliant

    use_int16(SIZE);
}

In this example, the macro DATA is never used in the use_macro function. Polyspace flags the unused macro.

Check Information

Group: Unused Code
Category: Advisory
AGC Category: Readability

Version History

Introduced in R2014b

expand all