C and C++


LANG.PREPROC.IFNDEF : Use of #ifndef

Summary

A use of the #ifndef preprocessor directive.

Many coding standards forbid the use of #ifndef because it makes code harder for human readers to understand.

Properties

Class Name Use of #ifndef
Significance style
Mnemonic LANG.PREPROC.IFNDEF
Categories
CWE CWE:710 Improper Adherence to Coding Standards
JSF++ JSF++:28 The #ifndef and #endif pre-processor directives will only be used as defined in AV Rule 27 to prevent multiple inclusions of the same header file.
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="Use of #ifndef"

Example

#ifndef X_DEFINED /* 'Use of #ifndef' warning issued here */
int y;
#endif                   /* ('Use of #endif' warning issued here if enabled) */

Relevant Configuration File Parameters

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