[previous] 3458 [next] Macro defines a braced code statement block.
Macro Definition

This macro is is surrounded by braces { } and contains semicolons and therefore appears to represent a block of code.

For example:


/*PRQA S 553,2017,3410,3429 ++*/

#define START(buf, n)                           \
    {   int i;                                  \
        for (i = 0; i < n; ++i) { buf[i] = i; } \
    }                                                   /* Message 3458 */


MISRA-C:2004 Rules applicable to message 3458:

Rule  19.4  (Required) C macros shall only expand to a braced initialiser, a constant, a string literal, a parenthesised expression, a type qualifier, a storage class specifier, or a do-while-zero construct.


QA·C Source Code Analyser 8.1
MISRA-C:2004 Compliance Module 3.2
© 2012 Programming Research.
www.programmingresearch.com
Personality Groups | Glossary | Message Index | MISRA-C:2004 Rule Index Contents