C and C++


LANG.PREPROC.UNDEF : #undefの使用

要旨

#undef 前処理指令が使用されています。

プロパティ

クラス名 Use of #undef
日本語クラス名 #undefの使用
クラス分類 スタイル (style)
ニーモニック LANG.PREPROC.UNDEF
カテゴリー
MisraC2023 MisraC2023:20.5 #undef should not be used
Misra2012 Misra2012:20.5 #undef should not be used
Misra2004 Misra2004:19.6 #undef shall not be used
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.
MisraC++2008 MisraC++2008:16-0-3 #undef shall not be used.
MisraC++2023 MisraC++2023:19.0.4 #undef should only be used for macros defined previously in the same file
CWE CWE:710 Improper Adherence to Coding Standards
JPL JPL:22 Do not undefine or redefine macros.
対応言語 C および C++ で利用可能です。
有効/無効設定 このワーニングクラスのチェックはデフォルトで無効になっています。チェックを有効にするにはプロジェクト設定ファイル (configuration file)に以下の WARNING_FILTER ルールを追加してください。
WARNING_FILTER += allow class="Use of #undef"

/* 'Use of #undef' warning issued on following line */
#undef CLEAR(x)

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

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