C and C++


LANG.PREPROC.ELIF : Use of #elif

要旨

A use of the #elif preprocessor directive.

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

プロパティ

クラス名 Use of #elif
日本語クラス名 Use of #elif
クラス分類 スタイル (style)
ニーモニック LANG.PREPROC.ELIF
カテゴリー
AUTOSARC++14 AUTOSARC++14:A16-0-1 The pre-processor shall only be used for unconditional and conditional file inclusion and include guards, and using the following directives: (1) #ifndef, (2) #ifdef, (3) #if, (4) #if defined, (5) #elif, (6) #else, (7) #define, (8) #endif, (9) #include.
CWE CWE:1076 Insufficient Adherence to Expected Conventions
JSF++ JSF++:26 Only the following pre-processor directives shall be used: #ifndef, #define, #endif, #include.
POW10 POW10:8 Limit the use of the preprocessor to file inclusion and simple macros.
対応言語 C および C++ で利用可能です。
有効/無効設定 このワーニングクラスのチェックはデフォルトで無効になっています。チェックを有効にするにはプロジェクト設定ファイル (configuration file)に以下の WARNING_FILTER ルールを追加してください。
WARNING_FILTER += allow class="Use of #elif"

#ifndef WIN32              /* ('Use of #ifndef' warning issued here if enabled) */

int flag;
#elif UNIX        /* 'Use of #elif' warning issued here */
unsigned int flag;
#endif                     /* ('Use of #endif' warning issued here if enabled) */

関連のある設定ファイルパラメータ

設定ファイルの以下のパラメータがこのワーニングクラスのチェックに影響します。