C and C++


LANG.PREPROC.ARROW : Macro Uses -> Operator

Summary

A macro definition uses the -> operator.

Properties

Class Name Macro Uses -> Operator
Significance style
Mnemonic LANG.PREPROC.ARROW
Categories
CWE CWE:710 Improper Adherence to Coding Standards
POW10 POW10:9 Limit the use of pointers. Use no more than two levels of dereferencing per expression.
JPL JPL:28 Do not hide dereference operations inside macros or typedefs.
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="Macro Uses -> Operator"

Example

/* 'Macro Uses -> Operator' warning issued on following line */
#define drf(a) \
    ((a) == NULL ? NULL : a->f ))

Relevant Configuration File Parameters

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