C and C++


LANG.PREPROC.PASTE : マクロ内でトークン連結演算子 ## の使用

要旨

マクロの定義で ## (トークン連結) 演算子を使用しています。

See also:

プロパティ

クラス名 Macro Uses ## Operator
日本語クラス名 マクロ内でトークン連結演算子 ## の使用
クラス分類 スタイル (style)
ニーモニック LANG.PREPROC.PASTE
カテゴリー
MisraC2023 MisraC2023:20.10 The # and ## preprocessor operators should not be used
  MisraC2023:20.12 A macro parameter used as an operand to the # or ## operators, which is itself subject to further macro replacement, shall only be used as an operand to these operators
Misra2012 Misra2012:20.10 The # and ## preprocessor operators should not be used
  Misra2012:20.12 A macro parameter used as an operand to the # or ## operators, which is itself subject to further macro replacement, shall only be used as an operand to these operators
Misra2004 Misra2004:19.13 The # and ## preprocessor operators should 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.
  AUTOSARC++14:M16-3-2 The # and ## operators should not be used.
MisraC++2008 MisraC++2008:16-3-2 The # and ## operators should not be used.
MisraC++2023 MisraC++2023:19.3.1 The # and ## preprocessor operators should not be used
CWE CWE:710 Improper Adherence to Coding Standards
CERT-C CERT-C:PRE05-C Understand macro replacement when concatenating tokens or performing stringification
  CERT-C:PRE30-C Do not create a universal character name through concatenation
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.
対応言語 C および C++ で利用可能です。
有効/無効設定 このワーニングクラスのチェックはデフォルトで無効になっています。チェックを有効にするにはプロジェクト設定ファイル (configuration file)に以下の WARNING_FILTER ルールを追加してください。
WARNING_FILTER += allow class="Macro Uses ## Operator"

/* 'Macro Uses ## Operator' warning issued on following line */
#define funcname(nm) \
    ( nm ## _func )

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

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