C and C++


LANG.PREPROC.RDEF : 予約名でのマクロ定義

要旨

マクロが以下の名前で定義もしくは #define で再定義されています。

プロパティ

クラス名 Macro Definition of Reserved Name
日本語クラス名 予約名でのマクロ定義
クラス分類 スタイル (style)
ニーモニック LANG.PREPROC.RDEF
カテゴリー
MisraC2023 MisraC2023:1.5 Obsolescent language features shall not be used
  MisraC2023:21.1 #define and #undef shall not be used on a reserved identifier or reserved macro name
Misra2012 Misra2012:1.5 Obsolescent language features shall not be used
  Misra2012:21.1 #define and #undef shall not be used on a reserved identifier or reserved macro name
Misra2004 Misra2004:20.1 Reserved identifiers, macros and functions in the standard library, shall not be defined, redefined or undefined
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.
  AUTOSARC++14:A17-0-1 Reserved identifiers, macros and functions in the C++ standard library shall not be defined, redefined or undefined.
MisraC++2008 MisraC++2008:17-0-1 Reserved identifiers, macros and functions in the standard library shall not be defined, redefined or undefined.
対応言語 C および C++ で利用可能です。
有効/無効設定 このワーニングクラスのチェックはデフォルトで無効になっています。チェックを有効にするにはプロジェクト設定ファイル (configuration file)に以下の WARNING_FILTER ルールを追加してください。
WARNING_FILTER += allow class="Macro Definition of Reserved Name"

#define printf sprintf    /* 'Macro Definition of Reserved Name' warning issued here */

#define printf fsprintf   /* 'Macro Definition of Reserved Name' warning issued here */

#define NULL 0            /* 'Macro Definition of Reserved Name' warning issued here */

#define _mymacro 1        /* 'Macro Definition of Reserved Name' warning issued here */

#define mymacro 1                        /* not a reserved name */

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

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