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 definitions1 .

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


1 All MISRA coding rules and directives are © Copyright The MISRA Consortium Limited 2021.

The MISRA coding standards referenced in the Polyspace Bug Finder™ documentation are from the following MISRA standards:

  • MISRA C:2004

  • MISRA C:2012

  • MISRA C:2023

  • MISRA C++:2008

  • MISRA C++:2023

MISRA and MISRA C are registered trademarks of The MISRA Consortium Limited 2021.