C and C++


LANG.PREPROC.UNBALANCED : Unbalanced Parenthesis

Summary

A macro definition has one or more unbalanced parentheses.

Properties

Class Name Unbalanced Parenthesis
Significance style
Mnemonic LANG.PREPROC.UNBALANCED
Categories
CWE CWE:710 Improper Adherence to Coding Standards
POW10 POW10:8 Limit the use of the preprocessor to file inclusion and simple macros.
JPL JPL:20 Make only very limited use of the C pre-processor.
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="Unbalanced Parenthesis"

Example

#define mult(x,y) ((x) * (y))

/* 'Unbalanced Parenthesis' warning issued on following line */
#define add2mult(a) \
    mult((a)+2,  
        
int k = add2mult(5) 6);

Relevant Configuration File Parameters

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