AUTOSAR 18-10 (厳格)(C および C++)

AUTOSAR C++14 Strict 分類基準を使用して、AUTOSAR C++14 Standard、リリース 18-10 とのコンプライアンスを確保することができます。AUTOSAR C++14 (18-10) 分類基準では、Klocwork C/C++ チェッカーと MISRA チェッカーの両方の違反を検出します。非厳格バージョンとは異なり、この分類基準には追加規則のカバレッジが含まれます。

ガイドライン チェッカー名および説明
"

MISRA.INCL.SYMS  ヘッダーファイル名に非標準文字が使用されています

#elif and #endif pre-processor directives shall reside in the same file as the #if or #ifdef directive to which they are related.

MISRA.ELIF.OTHERFILE  不適切なファイルでの #elif

MISRA.ELSE.OTHERFILE  不適切なファイルでの #else

MISRA.ENDIF.OTHERFILE  不適切なファイルでの #endif

&& operator and the || operator shall not be overloaded.

MISRA.BIN_OP.OVERLOAD  カンマ、|| または && 演算子が多重定義されています

(2) for hexadecimal

AUTOSAR.DIGIT_SEPARATORS  数字列の区切り子 ' は、(1) 10 進数を 3 桁ずつ、(2) 16 進数を 2 桁ずつ、(3) 2 進数を 4 桁ずつ区切る場合のみ使用する必要があります

(2) override

AUTOSAR.MEMB.VIRTUAL.SPEC  仮想関数宣言には 3 つの指定子 (1) virtual、(2) override、(3) final の内の 1 つのみが含まれていなければなりません

(2) std::forward if the value is forwarding reference.

AUTOSAR.FORWARD  他の関数への値の転送は、(1) std::move (値が r 値参照の場合) か (2) std::forward (値が前方参照の場合) を使用して行う必要があります

(2) the first or (3) all enumerators shall be initialized.

MISRA.ENUM.INIT  1 番目以外の列挙子が明示的に初期化されていますが、一部の要素が明示的に初期化されていません

(3) final.

AUTOSAR.MEMB.VIRTUAL.SPEC  仮想関数宣言には 3 つの指定子 (1) virtual、(2) override、(3) final の内の 1 つのみが含まれていなければなりません

(3) for binary

AUTOSAR.DIGIT_SEPARATORS  数字列の区切り子 ' は、(1) 10 進数を 3 桁ずつ、(2) 16 進数を 2 桁ずつ、(3) 2 進数を 4 桁ずつ区切る場合のみ使用する必要があります

++

MISRA.FOR.INCR  for ループのカウンターが不適切な方法で変更されています

/*

MISRA.INCL.SYMS  ヘッダーファイル名に非標準文字が使用されています

//

MISRA.INCL.SYMS  ヘッダーファイル名に非標準文字が使用されています

<

MISRA.FOR.COND.EQ  ループカウンターに対して++ 演算子または -- 演算子を使用していませんが、ループカウンターがイコールかどうかで判定しています

> or >=.

MISRA.FOR.COND.EQ  ループカウンターに対して++ 演算子または -- 演算子を使用していませんが、ループカウンターがイコールかどうかで判定しています

A0-1-2 (Required): The value returned by a function having a non-void return type that is not an overloaded operator shall be used.

MISRA.FUNC.UNUSEDRET  非 void 関数の戻り値が使用されていません

A0-1-2 (req.)

MISRA.FUNC.UNUSEDRET  非 void 関数の戻り値が使用されていません

A0-1-2 (必要): オーバーロードされた演算子ではない非 void 戻り値型を持つ関数によって返される値を使用する必要があります。

MISRA.FUNC.UNUSEDRET  非 void 関数の戻り値が使用されていません

A0-1-4 (Required): There shall be no unused named parameters in non-virtual functions.

MISRA.FUNC.UNUSEDPAR  非仮想関数の仮引数が使用されていません

A0-1-4 (req.)

MISRA.FUNC.UNUSEDPAR  非仮想関数の仮引数が使用されていません

A0-1-4 (必要): 非仮想関数に未使用の名前なしパラメーターがあってはなりません。

MISRA.FUNC.UNUSEDPAR  非仮想関数の仮引数が使用されていません

A0-1-5 (Required): There shall be no unused named parameters in the set of parameters for a virtual function and all the functions that override it.

MISRA.FUNC.VIRTUAL.UNUSEDPAR  仮想関数セットの仮引数が使用されていません

A0-1-5 (req.)

MISRA.FUNC.VIRTUAL.UNUSEDPAR  仮想関数セットの仮引数が使用されていません

A0-1-5 (必要): 仮想関数およびそれをオーバーライドするすべての関数のパラメータセットには、未使用の名前なしパラメーターがあってはなりません。

MISRA.FUNC.VIRTUAL.UNUSEDPAR  仮想関数セットの仮引数が使用されていません

A0-4-2 (Required): Type long double shall not be used.

AUTOSAR.TYPE.LONG_DOUBLE  long double 型は使用してはなりません

A0-4-2 (req.)

AUTOSAR.TYPE.LONG_DOUBLE  long double 型は使用してはなりません

A0-4-2 (必要): long double 型は使用してはなりません。

AUTOSAR.TYPE.LONG_DOUBLE  long double 型は使用してはなりません

A2-5-1 (Required): Trigraphs shall not be used.

MISRA.CHAR.TRIGRAPH  3 文字表記の使用

A2-5-1 (req.)

MISRA.CHAR.TRIGRAPH  3 文字表記の使用

A2-5-1 (必要): 3 文字表記は使用してはなりません。

MISRA.CHAR.TRIGRAPH  3 文字表記の使用

A2-5-2 (Required): Digraphs shall not be used.

MISRA.CHAR.DIGRAPH  2 文字表記の使用

A2-5-2 (req.)

MISRA.CHAR.DIGRAPH  2 文字表記の使用

A2-5-2 (必要): 2 文字表記は使用してはなりません。

MISRA.CHAR.DIGRAPH  2 文字表記の使用

A2-7-2 (Required): Sections of code shall not be “commented out”.

MISRA.TOKEN.COMMENTED.CODE  コメントにはコメントアウトされたソースコードが含まれているようです

A2-7-2 (req.)

MISRA.TOKEN.COMMENTED.CODE  コメントにはコメントアウトされたソースコードが含まれているようです

A2-7-2 (必要): コードのセクションは「コメントアウト」してはなりません。

MISRA.TOKEN.COMMENTED.CODE  コメントにはコメントアウトされたソースコードが含まれているようです

A2-10-1 (Required): An identifier declared in an inner scope shall not hide an identifier declared in an outer scope.

MISRA.VAR.HIDDEN  内部のスコープで宣言された識別子によって外部のスコープの識別子が非表示になっています

A2-10-1 (req.)

MISRA.VAR.HIDDEN  内部のスコープで宣言された識別子によって外部のスコープの識別子が非表示になっています

A2-10-1 (必要): 内部スコープで宣言された識別子は、外部スコープで宣言された識別子を隠蔽してはなりません。

MISRA.VAR.HIDDEN  内部のスコープで宣言された識別子によって外部のスコープの識別子が非表示になっています

A2-10-5 (Advisory): An identifier name of a function with static storage duration or a non-member object with external or internal linkage should not be reused.

MISRA.VAR.UNIQUE.STATIC  静的ストレージ指定の識別子がその他の識別子と不整合です

A2-10-5 (adv.)

MISRA.VAR.UNIQUE.STATIC  静的ストレージ指定の識別子がその他の識別子と不整合です

A2-10-5 (推奨): 静的記憶期間を持つ関数、または外部もしくは内部リンクを持つ非メンバーオブジェクトの識別子名は、再利用してはなりません。

MISRA.VAR.UNIQUE.STATIC  静的ストレージ指定の識別子がその他の識別子と不整合です

A2-10-6 (Required): A class or enumeration name shall not be hidden by a variable

MISRA.TYPE.NAMECLASH.CPP.2008  ある名前空間の識別子が他の名前空間の識別子と同じスペルです

A2-10-6 (req.)

MISRA.TYPE.NAMECLASH.CPP.2008  ある名前空間の識別子が他の名前空間の識別子と同じスペルです

A2-10-6 (必要): クラス名または列挙名は、同じスコープ内の変数、関数、または列挙子の宣言によって隠蔽されてはなりません。

MISRA.TYPE.NAMECLASH.CPP.2008  ある名前空間の識別子が他の名前空間の識別子と同じスペルです

A2-11-1 (Required): Volatile keyword shall not be used.

AUTOSAR.TYPE.QUAL.VOLATILE  volatile 型修飾子は使用してはなりません

A2-11-1 (req.)

AUTOSAR.TYPE.QUAL.VOLATILE  volatile 型修飾子は使用してはなりません

A2-11-1 (必要): Volatile キーワードを使用してはなりません。

AUTOSAR.TYPE.QUAL.VOLATILE  volatile 型修飾子は使用してはなりません

A2-13-1 (Required): Only those escape sequences that are defined in ISO/IEC 14882:2014 shall be used.

MISRA.TOKEN.WRONGESC.CPP.2008  リテラルに不正なエスケープ文字列があります

A2-13-1 (req.)

MISRA.TOKEN.WRONGESC.CPP.2008  リテラルに不正なエスケープ文字列があります

A2-13-1 (必要): ISO/IEC 14882:2014 で定義されているエスケープシーケンスのみを使用する必要があります。

MISRA.TOKEN.WRONGESC.CPP.2008  リテラルに不正なエスケープ文字列があります

A2-13-2 (Required): String literals with different encoding prefixes shall not be concatenated.

MISRA.STRINGS.CONCAT  狭い文字列リテラルと広い文字列リテラルが連結されています

A2-13-2 (req.)

MISRA.STRINGS.CONCAT  狭い文字列リテラルと広い文字列リテラルが連結されています

A2-13-2 (必要): 異なるエンコーディング接頭語が付いた文字列リテラルを連結してはなりません。

MISRA.STRINGS.CONCAT  狭い文字列リテラルと広い文字列リテラルが連結されています

A2-13-3 (Required): Type wchar_t shall not be used.

AUTOSAR.TYPE.WCHAR_T  wchar_t 型は使用してはなりません

A2-13-3 (req.)

AUTOSAR.TYPE.WCHAR_T  wchar_t 型は使用してはなりません

A2-13-3 (必要): wchar_t 型は使用してはなりません。

AUTOSAR.TYPE.WCHAR_T  wchar_t 型は使用してはなりません

A2-13-4 (Required): String literals shall not be assigned to non-constant pointers.

AUTOSAR.ADD.STR.TO.NON.CONST  文字列リテラルを非定数ポインターに割り当ててはなりません

A2-13-4 (req.)

AUTOSAR.ADD.STR.TO.NON.CONST  文字列リテラルを非定数ポインターに割り当ててはなりません

A2-13-4 (必要): 文字列リテラルを非定数ポインターに割り当ててはなりません。

AUTOSAR.ADD.STR.TO.NON.CONST  文字列リテラルを非定数ポインターに割り当ててはなりません

A2-13-5 (Advisory): Hexadecimal constants should be upper case.

AUTOSAR.HEX.UPPER  16 進定数は大文字で記述する必要があります

A2-13-5 (adv.)

AUTOSAR.HEX.UPPER  16 進定数は大文字で記述する必要があります

A2-13-5 (推奨): 16 進定数は大文字で記述する必要があります。

AUTOSAR.HEX.UPPER  16 進定数は大文字で記述する必要があります

A3-1-1 (Required): It shall be possible to include any header file in multiple translation units without violating the One Definition Rule.

AUTOSAR.ADD.ONEDEFRULE.FUNC  関数が一定義規則に違反しています

AUTOSAR.ADD.ONEDEFRULE.VAR  変数が一定義規則に違反しています

MISRA.ONEDEFRULE.FUNC  ヘッダーファイルでグローバル関数が定義されています

MISRA.ONEDEFRULE.VAR  ヘッダーファイルでグローバル変数が定義されています

A3-1-1 (req.)

AUTOSAR.ADD.ONEDEFRULE.FUNC  関数が一定義規則に違反しています

AUTOSAR.ADD.ONEDEFRULE.VAR  変数が一定義規則に違反しています

MISRA.ONEDEFRULE.FUNC  ヘッダーファイルでグローバル関数が定義されています

MISRA.ONEDEFRULE.VAR  ヘッダーファイルでグローバル変数が定義されています

A3-1-1 (必要): One Definition Rule に違反せずに任意のヘッダーファイルを複数の翻訳単位に含めることが可能でなければなりません。

AUTOSAR.ADD.ONEDEFRULE.FUNC  関数が一定義規則に違反しています

AUTOSAR.ADD.ONEDEFRULE.VAR  変数が一定義規則に違反しています

MISRA.ONEDEFRULE.FUNC  ヘッダーファイルでグローバル関数が定義されています

MISRA.ONEDEFRULE.VAR  ヘッダーファイルでグローバル変数が定義されています

A3-1-3 (Advisory): Implementation files

AUTOSAR.ADD.FILE.EXT  ローカル実装ファイルにファイル拡張子 .cpp が付いていません

A3-1-3 (adv.)

AUTOSAR.ADD.FILE.EXT  ローカル実装ファイルにファイル拡張子 .cpp が付いていません

A3-1-3 (推奨): プロジェクト内でローカルに定義される実装ファイルのファイル名拡張子は「.cpp」でなければなりません。

AUTOSAR.ADD.FILE.EXT  ローカル実装ファイルにファイル拡張子 .cpp が付いていません

A3-1-4 (Required): When an array with external linkage is declared

MISRA.DECL.ARRAY_SIZE  配列の宣言でサイズが不明です

A3-1-4 (req.)

MISRA.DECL.ARRAY_SIZE  配列の宣言でサイズが不明です

A3-1-4 (必要): 外部リンクを持つ配列を宣言する場合は、そのサイズを明示的に指定しなければなりません。

MISRA.DECL.ARRAY_SIZE  配列の宣言でサイズが不明です

A3-1-5 (Required): A function definition shall only be placed in a class definition if (1) the function is intended to be inlined (2) it is a member function template (3) it is a member function of a class template.

AUTOSAR.FUNC.INLINE_DEF  関数定義をクラス定義内に配置できるのは、(1) その関数がインライン化される予定であるか、(2) それがメンバー関数テンプレートであるか、(3) それがクラステンプレートのメンバー関数である場合のみです

A3-1-5 (req.)

AUTOSAR.FUNC.INLINE_DEF  関数定義をクラス定義内に配置できるのは、(1) その関数がインライン化される予定であるか、(2) それがメンバー関数テンプレートであるか、(3) それがクラステンプレートのメンバー関数である場合のみです

A3-1-5 (必要): 関数定義をクラス定義内に配置できるのは、(1) その関数がインライン化される予定であるか、(2) それがメンバー関数テンプレートであるか、(3) それがクラステンプレートのメンバー関数である場合のみです。

AUTOSAR.FUNC.INLINE_DEF  関数定義をクラス定義内に配置できるのは、(1) その関数がインライン化される予定であるか、(2) それがメンバー関数テンプレートであるか、(3) それがクラステンプレートのメンバー関数である場合のみです

A3-3-1 (Required): Objects or functions with external linkage (including members of named namespaces) shall be declared in a header file.

MISRA.LINKAGE.EXTERN  外部リンクを持つオブジェクトまたは関数の宣言がヘッダーファイルにありません

A3-3-1 (req.)

MISRA.LINKAGE.EXTERN  外部リンクを持つオブジェクトまたは関数の宣言がヘッダーファイルにありません

A3-3-1 (必要): 外部リンク (名前付き名前空間のメンバーを含む) を持つオブジェクトまたは関数は、ヘッダーファイル内で宣言しなければなりません。

MISRA.LINKAGE.EXTERN  外部リンクを持つオブジェクトまたは関数の宣言がヘッダーファイルにありません

A3-9-1 (Required): Fixed width integer types from <cstdint>

AUTOSAR.BUILTIN_NUMERIC  基本的な数値型の代わりに <cstdint> で提供される固定幅の整数型を使用する必要があります

A3-9-1 (req.)

AUTOSAR.BUILTIN_NUMERIC  基本的な数値型の代わりに <cstdint> で提供される固定幅の整数型を使用する必要があります

A3-9-1 (必要): 基本的な数値型の代わりに、サイズと符号を示す、<cstdint> で提供される固定幅の整数型を使用しなければなりません。

AUTOSAR.BUILTIN_NUMERIC  基本的な数値型の代わりに <cstdint> で提供される固定幅の整数型を使用する必要があります

A4-5-1 (Required): Expressions with type enum or enum class shall not be used as operands to built-in and overloaded operators.

AUTOSAR.ADD.ENUM.OP  列挙型を算術コンテキストで使用してはなりません

MISRA.ENUM.OPERAND  列挙型の式が代数コンテキストで使用されています

A4-5-1 (req.)

AUTOSAR.ADD.ENUM.OP  列挙型を算術コンテキストで使用してはなりません

MISRA.ENUM.OPERAND  列挙型の式が代数コンテキストで使用されています

A4-5-1 (必要): enum または enum class 型の式は、組み込み演算子およびオーバーロードされる演算子のオペランドとして使用してはなりません。

AUTOSAR.ADD.ENUM.OP  列挙型を算術コンテキストで使用してはなりません

MISRA.ENUM.OPERAND  列挙型の式が代数コンテキストで使用されています

A4-7-1 (Required): An integer expression shall not lead to data loss.

NUM.OVERFLOW  オーバーフローの可能性

NUM.OVERFLOW.DF  起こり得る数値のオーバーフローまたはラップアラウンド

PRECISION.LOSS  精度の損失

A4-7-1 (req.)

NUM.OVERFLOW  オーバーフローの可能性

NUM.OVERFLOW.DF  起こり得る数値のオーバーフローまたはラップアラウンド

PRECISION.LOSS  精度の損失

A4-7-1 (必要): 整数式がデータ損失をまねくものであってはなりません。

NUM.OVERFLOW  オーバーフローの可能性

NUM.OVERFLOW.DF  起こり得る数値のオーバーフローまたはラップアラウンド

PRECISION.LOSS  精度の損失

A4-10-1 (Required): Only nullptr literal shall be used as the null-pointer-constant.

AUTOSAR.ADD.NULLPTR  nullptr リテラルのみを null ポインター定数として使用する必要があります

A4-10-1 (req.)

AUTOSAR.ADD.NULLPTR  nullptr リテラルのみを null ポインター定数として使用する必要があります

A4-10-1 (必要): nullptr リテラルのみを null ポインター定数として使用しなければなりません。

AUTOSAR.ADD.NULLPTR  nullptr リテラルのみを null ポインター定数として使用する必要があります

A5-0-1 (Required): The value of an expression shall be the same under any order of evaluation that the standard permits.

AUTOSAR.ADD.EXPR.EVAL.MULTI.CALL  式の値は、標準で認められているどの評価順でも同じでなければなりません

AUTOSAR.ADD.EXPR.EVAL.VOLATILE  式の値は、標準で認められているどの評価順でも同じでなければなりません

PORTING.VAR.EFFECTS  ある使用法が副次的な影響を受ける式で変数が 2 回使用されています

A5-0-1 (req.)

AUTOSAR.ADD.EXPR.EVAL.MULTI.CALL  式の値は、標準で認められているどの評価順でも同じでなければなりません

AUTOSAR.ADD.EXPR.EVAL.VOLATILE  式の値は、標準で認められているどの評価順でも同じでなければなりません

PORTING.VAR.EFFECTS  ある使用法が副次的な影響を受ける式で変数が 2 回使用されています

A5-0-1 (必要): 式の値は、標準で許可されている評価順序に関係なく同じでなければなりません。

AUTOSAR.ADD.EXPR.EVAL.MULTI.CALL  式の値は、標準で認められているどの評価順でも同じでなければなりません

AUTOSAR.ADD.EXPR.EVAL.VOLATILE  式の値は、標準で認められているどの評価順でも同じでなければなりません

PORTING.VAR.EFFECTS  ある使用法が副次的な影響を受ける式で変数が 2 回使用されています

A5-0-2 (Required): The condition of an if-statement and the condition of an iteration statement shall have type bool.

AUTOSAR.ADD.COND.NOT.BOOL  if ステートメントおよび反復ステートメントの条件には bool 型を含める必要があります

AUTOSAR.ADD.LOGIC.NOT_BOOL  if ステートメントおよび反復ステートメントの条件には bool 型を含める必要があります

MISRA.STMT.COND.NOT_BOOLEAN  if または loop ステートメントの条件がブール式になっていません

A5-0-2 (req.)

AUTOSAR.ADD.COND.NOT.BOOL  if ステートメントおよび反復ステートメントの条件には bool 型を含める必要があります

AUTOSAR.ADD.LOGIC.NOT_BOOL  if ステートメントおよび反復ステートメントの条件には bool 型を含める必要があります

MISRA.STMT.COND.NOT_BOOLEAN  if または loop ステートメントの条件がブール式になっていません

A5-0-2 (必要): if ステートメントおよび反復ステートメントの条件は bool 型でなければなりません。

AUTOSAR.ADD.COND.NOT.BOOL  if ステートメントおよび反復ステートメントの条件には bool 型を含める必要があります

AUTOSAR.ADD.LOGIC.NOT_BOOL  if ステートメントおよび反復ステートメントの条件には bool 型を含める必要があります

MISRA.STMT.COND.NOT_BOOLEAN  if または loop ステートメントの条件がブール式になっていません

A5-0-3 (Required): The declaration of objects shall contain no more than two levels of pointer indirection.

MISRA.PTR.TO_PTR_TO_PTR  ポインタ宣言に 2 つ以上のレベルの間接指定があります

A5-0-3 (req.)

MISRA.PTR.TO_PTR_TO_PTR  ポインタ宣言に 2 つ以上のレベルの間接指定があります

A5-0-3 (必要): オブジェクトの宣言には、2 レベルを超えるポインター間接参照を含めないでください。

MISRA.PTR.TO_PTR_TO_PTR  ポインタ宣言に 2 つ以上のレベルの間接指定があります

A5-1-1 (Required): Literal values shall not be used apart from type initialization

AUTOSAR.ADD.LITERAL  型の初期化を除いて、リテラル値を使用してはなりません

A5-1-1 (req.)

AUTOSAR.ADD.LITERAL  型の初期化を除いて、リテラル値を使用してはなりません

A5-1-1 (必要): リテラル値は、型の初期化以外では使用してはなりません。もしくは、代わりにシンボリック名を使用してください。

AUTOSAR.ADD.LITERAL  型の初期化を除いて、リテラル値を使用してはなりません

A5-1-2 (Required): Variables shall not be implicitly captured in a lambda expression.

AUTOSAR.LAMBDA.IMPLICIT_CAPTURE  変数はラムダ式で暗黙的にキャプチャしてはなりません

A5-1-2 (req.)

AUTOSAR.LAMBDA.IMPLICIT_CAPTURE  変数はラムダ式で暗黙的にキャプチャしてはなりません

A5-1-2 (必要): 変数はラムダ式で暗黙的にキャプチャしてはなりません。

AUTOSAR.LAMBDA.IMPLICIT_CAPTURE  変数はラムダ式で暗黙的にキャプチャしてはなりません

A5-1-3 (Required): Parameter list (possibly empty) shall be included in every lambda expression.

AUTOSAR.LAMBDA.NO_PARAM_LIST  パラメーターリスト (空の可能性がある) はすべてのラムダ式に含める必要があります

A5-1-3 (req.)

AUTOSAR.LAMBDA.NO_PARAM_LIST  パラメーターリスト (空の可能性がある) はすべてのラムダ式に含める必要があります

A5-1-3 (必要): パラメーターリスト (空の可能性がある) はすべてのラムダ式に含めなければなりません。

AUTOSAR.LAMBDA.NO_PARAM_LIST  パラメーターリスト (空の可能性がある) はすべてのラムダ式に含める必要があります

A5-1-4 (Required): A lambda expression object shall not outlive any of its reference-captured objects.

AUTOSAR.LAMBDA.REF_LIFETIME  ラムダ式オブジェクトは、その参照キャプチャされたオブジェクトよりも長く存続してはなりません

A5-1-4 (req.)

AUTOSAR.LAMBDA.REF_LIFETIME  ラムダ式オブジェクトは、その参照キャプチャされたオブジェクトよりも長く存続してはなりません

A5-1-4 (必要): ラムダ式オブジェクトは、その参照キャプチャされたオブジェクトよりも長く存続してはなりません。

AUTOSAR.LAMBDA.REF_LIFETIME  ラムダ式オブジェクトは、その参照キャプチャされたオブジェクトよりも長く存続してはなりません

A5-1-6 (Advisory): Return type of a non-void return type lambda expression should be explicitly specified.

AUTOSAR.LAMBDA.IMPLICIT_RETURN_TYPE  非 void 戻り型ラムダ式の戻り型は明示的に指定する必要があります

A5-1-6 (adv.)

AUTOSAR.LAMBDA.IMPLICIT_RETURN_TYPE  非 void 戻り型ラムダ式の戻り型は明示的に指定する必要があります

A5-1-6 (推奨): 非 void 戻り型ラムダ式の戻り型は明示的に指定しなければなりません。

AUTOSAR.LAMBDA.IMPLICIT_RETURN_TYPE  非 void 戻り型ラムダ式の戻り型は明示的に指定する必要があります

A5-1-7 (Required): A lambda shall not be an operand to decltype or typeid.

AUTOSAR.LAMBDA.TYPE_OPERAND  ラムダを decltype または typeid のオペランドにしてはなりません

A5-1-7 (req.)

AUTOSAR.LAMBDA.TYPE_OPERAND  ラムダを decltype または typeid のオペランドにしてはなりません

A5-1-7 (必要): ラムダを decltype または typeid のオペランドにしてはなりません。

AUTOSAR.LAMBDA.TYPE_OPERAND  ラムダを decltype または typeid のオペランドにしてはなりません

A5-1-8 (Advisory): Lambda expressions should not be defined inside another lambda expression.

AUTOSAR.LAMBDA.NESTED  ラムダ式を他のラムダ式内で定義してはなりません

A5-1-8 (adv.)

AUTOSAR.LAMBDA.NESTED  ラムダ式を他のラムダ式内で定義してはなりません

A5-1-8 (推奨): ラムダ式を他のラムダ式内で定義してはなりません。

AUTOSAR.LAMBDA.NESTED  ラムダ式を他のラムダ式内で定義してはなりません

A5-2-1 (Advisory): dynamic_cast should not be used.

AUTOSAR.CAST.DYNAMIC  dynamic_cast は使用してはなりません

A5-2-1 (adv.)

AUTOSAR.CAST.DYNAMIC  dynamic_cast は使用してはなりません

A5-2-1 (推奨): dynamic_cast は使用してはなりません。

AUTOSAR.CAST.DYNAMIC  dynamic_cast は使用してはなりません

A5-2-2 (Required): Traditional C-style casts shall not be used.

AUTOSAR.CAST.CSTYLE  従来の C スタイルのキャストは使用してはなりません

A5-2-2 (req.)

AUTOSAR.CAST.CSTYLE  従来の C スタイルのキャストは使用してはなりません

A5-2-2 (必要): 従来の C スタイルのキャストは使用してはなりません。

AUTOSAR.CAST.CSTYLE  従来の C スタイルのキャストは使用してはなりません

A5-2-3 (Required): A cast shall not remove any const or volatile qualification from the type of a pointer or reference.

MISRA.CAST.CONST  キャスト演算により const または volatile がポインターまたは参照から除外されます。

A5-2-3 (req.)

MISRA.CAST.CONST  キャスト演算により const または volatile がポインターまたは参照から除外されます。

A5-2-3 (必要): キャストでは、ポインターまたは参照の型から const または volatile 修飾を削除してはなりません。

MISRA.CAST.CONST  キャスト演算により const または volatile がポインターまたは参照から除外されます。

A5-2-4 (Required): reinterpret_cast shall not be used.

AUTOSAR.CAST.REINTERPRET  reinterpret_cast は使用してはなりません

A5-2-4 (req.)

AUTOSAR.CAST.REINTERPRET  reinterpret_cast は使用してはなりません

A5-2-4 (必要): reinterpret_cast は使用してはなりません。

AUTOSAR.CAST.REINTERPRET  reinterpret_cast は使用してはなりません

A5-2-5 (Required): An array or container shall not be accessed beyond its range.

ABV.ANY_SIZE_ARRAY  バッファオーバーフロー - 配列インデックスが範囲外

ABV.GENERAL  バッファオーバーフロー - 配列インデックスが範囲外

ABV.GENERAL.MULTIDIMENSION  バッファオーバーフロー - 配列インデックスが範囲外

ABV.ITERATOR  バッファオーバーフロー - 配列インデックスが範囲外の可能性

ABV.MEMBER  バッファオーバーフロー - 配列インデックスが範囲外

ABV.NON_ARRAY  非配列オブジェクトが配列として使用される

ABV.STACK  バッファオーバーフロー - ローカル配列インデックスが範囲外

ABV.TAINTED  未検証の入力によるバッファオーバーフロー

ABV.UNICODE.BOUND_MAP  文字関数のマッピング時のバッファオーバーフロー

ABV.UNICODE.FAILED_MAP  関数のマッピングに失敗します

ABV.UNICODE.NNTS_MAP  文字関数のマッピング時のバッファオーバーフロー

ABV.UNICODE.SELF_MAP  関数のマッピングに失敗します

ABV.UNKNOWN_SIZE  バッファオーバーフロー - 配列インデックスが範囲外

A5-2-5 (req.)

ABV.ANY_SIZE_ARRAY  バッファオーバーフロー - 配列インデックスが範囲外

ABV.GENERAL  バッファオーバーフロー - 配列インデックスが範囲外

ABV.GENERAL.MULTIDIMENSION  バッファオーバーフロー - 配列インデックスが範囲外

ABV.ITERATOR  バッファオーバーフロー - 配列インデックスが範囲外の可能性

ABV.MEMBER  バッファオーバーフロー - 配列インデックスが範囲外

ABV.NON_ARRAY  非配列オブジェクトが配列として使用される

ABV.STACK  バッファオーバーフロー - ローカル配列インデックスが範囲外

ABV.TAINTED  未検証の入力によるバッファオーバーフロー

ABV.UNICODE.BOUND_MAP  文字関数のマッピング時のバッファオーバーフロー

ABV.UNICODE.FAILED_MAP  関数のマッピングに失敗します

ABV.UNICODE.NNTS_MAP  文字関数のマッピング時のバッファオーバーフロー

ABV.UNICODE.SELF_MAP  関数のマッピングに失敗します

ABV.UNKNOWN_SIZE  バッファオーバーフロー - 配列インデックスが範囲外

A5-2-5 (必要): 配列またはコンテナーにはその範囲を超えてアクセスしてはなりません。

ABV.ANY_SIZE_ARRAY  バッファオーバーフロー - 配列インデックスが範囲外

ABV.GENERAL  バッファオーバーフロー - 配列インデックスが範囲外

ABV.GENERAL.MULTIDIMENSION  バッファオーバーフロー - 配列インデックスが範囲外

ABV.ITERATOR  バッファオーバーフロー - 配列インデックスが範囲外の可能性

ABV.MEMBER  バッファオーバーフロー - 配列インデックスが範囲外

ABV.NON_ARRAY  非配列オブジェクトが配列として使用される

ABV.STACK  バッファオーバーフロー - ローカル配列インデックスが範囲外

ABV.TAINTED  未検証の入力によるバッファオーバーフロー

ABV.UNICODE.BOUND_MAP  文字関数のマッピング時のバッファオーバーフロー

ABV.UNICODE.FAILED_MAP  関数のマッピングに失敗します

ABV.UNICODE.NNTS_MAP  文字関数のマッピング時のバッファオーバーフロー

ABV.UNICODE.SELF_MAP  関数のマッピングに失敗します

ABV.UNKNOWN_SIZE  バッファオーバーフロー - 配列インデックスが範囲外

A5-2-6 (Required): The operands of a logical && or \\ shall be parenthesized if the operands contain binary operators.

MISRA.LOGIC.POSTFIX  論理 'and' 式または論理 'or' 式のオペランドが後置式ではありません

A5-2-6 (req.)

MISRA.LOGIC.POSTFIX  論理 'and' 式または論理 'or' 式のオペランドが後置式ではありません

A5-2-6 (必要): 論理演算子 && または \\ のオペランドにバイナリ演算子が含まれている場合は、そのオペランドを括弧で囲まなければなりません。

MISRA.LOGIC.POSTFIX  論理 'and' 式または論理 'or' 式のオペランドが後置式ではありません

A5-3-2 (Required): Null pointers shall not be dereferenced.

NPD.CHECK.CALL.MIGHT  ポインタを明示的に NULL チェックした後に逆参照する可能性のある関数に渡す可能性があります

NPD.CHECK.CALL.MUST  ポインタを明示的に NULL チェックした後に逆参照する可能性がある関数に渡します

NPD.CHECK.MIGHT  ポインタを明示的に NULL チェックした後に逆参照する可能性があります

NPD.CHECK.MUST  ポインタを明示的に NULL チェックした後に逆参照します

NPD.CONST.CALL  逆参照する可能性のある関数に NULL を渡しています

NPD.CONST.DEREF  NULL は逆参照されます

NPD.FUNC.CALL.MIGHT  NULL を返す関数の戻り値が、これを逆参照する可能性のある別の関数に渡される可能性があります

NPD.FUNC.CALL.MUST  NULL を返す関数の戻り値が、これを逆参照する可能性がある別の関数に渡されます

NPD.FUNC.MIGHT  NULL を返す可能性のある関数の戻り値が逆参照される場合があります

NPD.FUNC.MUST  NULL を返す可能性がある関数の戻り値が逆参照されます

NPD.GEN.CALL.MIGHT  NULLポインタを逆参照する可能性がある関数に渡す場合があります

NPD.GEN.CALL.MUST  NULLポインタを逆参照する関数に渡します

NPD.GEN.MIGHT  NULLポインタを逆参照する可能性があります

NPD.GEN.MUST  null ポインターが逆参照されます

A5-3-2 (req.)

NPD.CHECK.CALL.MIGHT  ポインタを明示的に NULL チェックした後に逆参照する可能性のある関数に渡す可能性があります

NPD.CHECK.CALL.MUST  ポインタを明示的に NULL チェックした後に逆参照する可能性がある関数に渡します

NPD.CHECK.MIGHT  ポインタを明示的に NULL チェックした後に逆参照する可能性があります

NPD.CHECK.MUST  ポインタを明示的に NULL チェックした後に逆参照します

NPD.CONST.CALL  逆参照する可能性のある関数に NULL を渡しています

NPD.CONST.DEREF  NULL は逆参照されます

NPD.FUNC.CALL.MIGHT  NULL を返す関数の戻り値が、これを逆参照する可能性のある別の関数に渡される可能性があります

NPD.FUNC.CALL.MUST  NULL を返す関数の戻り値が、これを逆参照する可能性がある別の関数に渡されます

NPD.FUNC.MIGHT  NULL を返す可能性のある関数の戻り値が逆参照される場合があります

NPD.FUNC.MUST  NULL を返す可能性がある関数の戻り値が逆参照されます

NPD.GEN.CALL.MIGHT  NULLポインタを逆参照する可能性がある関数に渡す場合があります

NPD.GEN.CALL.MUST  NULLポインタを逆参照する関数に渡します

NPD.GEN.MIGHT  NULLポインタを逆参照する可能性があります

NPD.GEN.MUST  null ポインターが逆参照されます

A5-3-2 (必要): null ポインターを逆参照してはなりません。

NPD.CHECK.CALL.MIGHT  ポインタを明示的に NULL チェックした後に逆参照する可能性のある関数に渡す可能性があります

NPD.CHECK.CALL.MUST  ポインタを明示的に NULL チェックした後に逆参照する可能性がある関数に渡します

NPD.CHECK.MIGHT  ポインタを明示的に NULL チェックした後に逆参照する可能性があります

NPD.CHECK.MUST  ポインタを明示的に NULL チェックした後に逆参照します

NPD.CONST.CALL  逆参照する可能性のある関数に NULL を渡しています

NPD.CONST.DEREF  NULL は逆参照されます

NPD.FUNC.CALL.MIGHT  NULL を返す関数の戻り値が、これを逆参照する可能性のある別の関数に渡される可能性があります

NPD.FUNC.CALL.MUST  NULL を返す関数の戻り値が、これを逆参照する可能性がある別の関数に渡されます

NPD.FUNC.MIGHT  NULL を返す可能性のある関数の戻り値が逆参照される場合があります

NPD.FUNC.MUST  NULL を返す可能性がある関数の戻り値が逆参照されます

NPD.GEN.CALL.MIGHT  NULLポインタを逆参照する可能性がある関数に渡す場合があります

NPD.GEN.CALL.MUST  NULLポインタを逆参照する関数に渡します

NPD.GEN.MIGHT  NULLポインタを逆参照する可能性があります

NPD.GEN.MUST  null ポインターが逆参照されます

A5-6-1 (Required): The right hand operand of the integer division or remainder operators shall not be equal to zero.

DBZ.CONST  ゼロ定数による除算が発生しました

DBZ.CONST.CALL  値 '0' が除数としてこの値を使用できる関数に渡されます

DBZ.GENERAL  ゼロ除算が発生した可能性があります

DBZ.GENERAL.FLOAT  浮動小数点数のゼロ除算が発生した可能性があります

DBZ.ITERATOR  ループ反復子でゼロ除算が発生した可能性があります

DBZ.ITERATOR.CALL  関数呼出しでゼロ除算が発生した可能性があります

DBZ.ITERATOR.FLOAT  ループ反復子でゼロ除算が発生した可能性があります

A5-6-1 (req.)

DBZ.CONST  ゼロ定数による除算が発生しました

DBZ.CONST.CALL  値 '0' が除数としてこの値を使用できる関数に渡されます

DBZ.GENERAL  ゼロ除算が発生した可能性があります

DBZ.GENERAL.FLOAT  浮動小数点数のゼロ除算が発生した可能性があります

DBZ.ITERATOR  ループ反復子でゼロ除算が発生した可能性があります

DBZ.ITERATOR.CALL  関数呼出しでゼロ除算が発生した可能性があります

DBZ.ITERATOR.FLOAT  ループ反復子でゼロ除算が発生した可能性があります

A5-6-1 (必要): 整数の除算または剰余演算子の右側のオペランドはゼロになってはなりません。

DBZ.CONST  ゼロ定数による除算が発生しました

DBZ.CONST.CALL  値 '0' が除数としてこの値を使用できる関数に渡されます

DBZ.GENERAL  ゼロ除算が発生した可能性があります

DBZ.GENERAL.FLOAT  浮動小数点数のゼロ除算が発生した可能性があります

DBZ.ITERATOR  ループ反復子でゼロ除算が発生した可能性があります

DBZ.ITERATOR.CALL  関数呼出しでゼロ除算が発生した可能性があります

DBZ.ITERATOR.FLOAT  ループ反復子でゼロ除算が発生した可能性があります

A5-10-1 (Required): A pointer to member virtual function shall only be tested for equality with null-pointer-constant.

AUTOSAR.VIRTUAL.PTR_COMPARE  メンバー仮想関数を指すポインターのテストは、null ポインター定数との等価を確認する目的でのみ行う必要があります

A5-10-1 (req.)

AUTOSAR.VIRTUAL.PTR_COMPARE  メンバー仮想関数を指すポインターのテストは、null ポインター定数との等価を確認する目的でのみ行う必要があります

A5-10-1 (必要): メンバー仮想関数を指すポインターのテストは、null ポインター定数との等価を確認する目的でのみ行わなければなりません。

AUTOSAR.VIRTUAL.PTR_COMPARE  メンバー仮想関数を指すポインターのテストは、null ポインター定数との等価を確認する目的でのみ行う必要があります

A5-16-1 (Required): The ternary conditional operator shall not be used as a sub-expression.

AUTOSAR.TERNARY.NESTED  3 項条件演算子を部分式として使用してはなりません

A5-16-1 (req.)

AUTOSAR.TERNARY.NESTED  3 項条件演算子を部分式として使用してはなりません

A5-16-1 (必要): 3 項条件演算子を部分式として使用してはなりません。

AUTOSAR.TERNARY.NESTED  3 項条件演算子を部分式として使用してはなりません

A6-2-1 (Required): Move and copy assignment operators shall either move or respectively copy base classes and data members of a class

AUTOSAR.ADD.ASSIGN.OP.SIDE.EFFECT  move および copy 代入演算子は、副作用を発生させることなく基本クラスとクラスのデータメンバーの移動または個別コピーを行う必要があります

A6-2-1 (req.)

AUTOSAR.ADD.ASSIGN.OP.SIDE.EFFECT  move および copy 代入演算子は、副作用を発生させることなく基本クラスとクラスのデータメンバーの移動または個別コピーを行う必要があります

A6-2-1 (必要): move および copy 代入演算子は、副作用を発生させることなく基底クラスとクラスのデータメンバーの移動または個別コピーを行わなければなりません。

AUTOSAR.ADD.ASSIGN.OP.SIDE.EFFECT  move および copy 代入演算子は、副作用を発生させることなく基本クラスとクラスのデータメンバーの移動または個別コピーを行う必要があります

A6-4-1 (Required): A switch statement shall have at least two case-clauses

AUTOSAR.SWITCH.CASECOUNT  switch ステートメントには、デフォルトのラベルとは異なる 2 つ以上の case 節を指定する必要があります

A6-4-1 (req.)

AUTOSAR.SWITCH.CASECOUNT  switch ステートメントには、デフォルトのラベルとは異なる 2 つ以上の case 節を指定する必要があります

A6-4-1 (必要): switch ステートメントには、デフォルトのラベルとは異なる 2 つ以上の case 節を指定しなければなりません。

AUTOSAR.SWITCH.CASECOUNT  switch ステートメントには、デフォルトのラベルとは異なる 2 つ以上の case 節を指定する必要があります

A6-5-2 (Required): A for loop shall contain a single loop-counter which shall not have floating-point type.

MISRA.FOR.COUNTER.FLT  for ループのカウンターが浮動小数点タイプです

MISRA.FOR.COUNTER.MANY  for ループのカウンターが多すぎます

A6-5-2 (req.)

MISRA.FOR.COUNTER.FLT  for ループのカウンターが浮動小数点タイプです

MISRA.FOR.COUNTER.MANY  for ループのカウンターが多すぎます

A6-5-2 (必要): for ループには、浮動小数点型ではない単一のループカウンターを含めなければなりません。

MISRA.FOR.COUNTER.FLT  for ループのカウンターが浮動小数点タイプです

MISRA.FOR.COUNTER.MANY  for ループのカウンターが多すぎます

A6-5-3 (Advisory): Do statements should not be used.

AUTOSAR.DO  do ステートメントは使用してはなりません

A6-5-3 (adv.)

AUTOSAR.DO  do ステートメントは使用してはなりません

A6-5-3 (推奨): do ステートメントは使用してはなりません。

AUTOSAR.DO  do ステートメントは使用してはなりません

A6-5-4 (Advisory): For-init-statement and expression should not perform actions other than loop-counter initialization and modification.

MISRA.FOR.COUNTER.MANY  for ループのカウンターが多すぎます

A6-5-4 (adv.)

MISRA.FOR.COUNTER.MANY  for ループのカウンターが多すぎます

A6-5-4 (推奨): for-init-statement および for-init-expression によってループカウンターの初期化と変更以外のアクションを実行してはなりません。

MISRA.FOR.COUNTER.MANY  for ループのカウンターが多すぎます

A6-6-1 (Required): The goto statement shall not be used.

AUTOSAR.GOTO  goto ステートメントは使用してはなりません

A6-6-1 (req.)

AUTOSAR.GOTO  goto ステートメントは使用してはなりません

A6-6-1 (必要): goto ステートメントは使用してはなりません。

AUTOSAR.GOTO  goto ステートメントは使用してはなりません

A7-1-1 (Required): Constexpr or const specifiers shall be used for immutable data declaration.

MISRA.VAR.NEEDS.CONST  変数は変更されませんが、const 修飾子なしで宣言されています

A7-1-1 (req.)

MISRA.VAR.NEEDS.CONST  変数は変更されませんが、const 修飾子なしで宣言されています

A7-1-1 (必要): イミュータブルデータ宣言には、constexpr または const 指定子を使用しなければなりません。

MISRA.VAR.NEEDS.CONST  変数は変更されませんが、const 修飾子なしで宣言されています

A7-1-3 (Required): CV-qualifiers shall be placed on the right hand side of the type that is a typedef or a using name.

AUTOSAR.TYPEDEF.CVQ_EAST  CV 修飾子は、typedef または using name である型の右側に置く必要があります

A7-1-3 (req.)

AUTOSAR.TYPEDEF.CVQ_EAST  CV 修飾子は、typedef または using name である型の右側に置く必要があります

A7-1-3 (必要): CV 修飾子は、typedef または using name である型の右側に置かなければなりません。

AUTOSAR.TYPEDEF.CVQ_EAST  CV 修飾子は、typedef または using name である型の右側に置く必要があります

A7-1-4 (Required): The register keyword shall not be used.

AUTOSAR.REGISTER  register キーワードは使用してはなりません

A7-1-4 (req.)

AUTOSAR.REGISTER  register キーワードは使用してはなりません

A7-1-4 (必要): register キーワードは使用してはなりません。

AUTOSAR.REGISTER  register キーワードは使用してはなりません

A7-1-5 (Required): The auto specifier shall not be used apart from following cases: ...

AUTOSAR.ADD.AUTO.SPECIFIER  ここに auto 指定子を使用してはなりません

A7-1-5 (req.)

AUTOSAR.ADD.AUTO.SPECIFIER  ここに auto 指定子を使用してはなりません

A7-1-5 (必要): auto 指定子は、次の場合を除き、使用してはなりません。...

AUTOSAR.ADD.AUTO.SPECIFIER  ここに auto 指定子を使用してはなりません

A7-1-6 (Required): The typedef specifier shall not be used.

AUTOSAR.TYPEDEF  typedef 指定子は使用してはなりません

A7-1-6 (req.)

AUTOSAR.TYPEDEF  typedef 指定子は使用してはなりません

A7-1-6 (必要): typedef 指定子は使用してはなりません。

AUTOSAR.TYPEDEF  typedef 指定子は使用してはなりません

A7-1-7 (Required): Each expression statement and identifier declaration shall be placed on a separate line.

AUTOSAR.STYLE.SINGLE_DECL_PER_LINE  各式ステートメントと識別子宣言は、個別の行に配置する必要があります

AUTOSAR.STYLE.SINGLE_STMT_PER_LINE  各式ステートメントと識別子宣言は、個別の行に配置する必要があります

A7-1-7 (req.)

AUTOSAR.STYLE.SINGLE_DECL_PER_LINE  各式ステートメントと識別子宣言は、個別の行に配置する必要があります

AUTOSAR.STYLE.SINGLE_STMT_PER_LINE  各式ステートメントと識別子宣言は、個別の行に配置する必要があります

A7-1-7 (必要): 各式ステートメントと識別子宣言は、個別の行に配置しなければなりません。

AUTOSAR.STYLE.SINGLE_DECL_PER_LINE  各式ステートメントと識別子宣言は、個別の行に配置する必要があります

AUTOSAR.STYLE.SINGLE_STMT_PER_LINE  各式ステートメントと識別子宣言は、個別の行に配置する必要があります

A7-1-8 (Required): A non-type specifier shall be placed before a type specifier in a declaration.

AUTOSAR.DECL.NONTYPE_SPECIFIER  宣言では、型指定子以外の指定子は型指定子の前に置く必要があります

A7-1-8 (req.)

AUTOSAR.DECL.NONTYPE_SPECIFIER  宣言では、型指定子以外の指定子は型指定子の前に置く必要があります

A7-1-8 (必要): 宣言では、型指定子以外の指定子は型指定子の前に置かなければなりません。

AUTOSAR.DECL.NONTYPE_SPECIFIER  宣言では、型指定子以外の指定子は型指定子の前に置く必要があります

A7-1-9 (Required): A class

AUTOSAR.DECL.IN_DEFN  クラス、構造体、または列挙をその型の定義で宣言してはなりません

A7-1-9 (req.)

AUTOSAR.DECL.IN_DEFN  クラス、構造体、または列挙をその型の定義で宣言してはなりません

A7-1-9 (必要): クラス、構造体、または列挙をその型の定義で宣言してはなりません。

AUTOSAR.DECL.IN_DEFN  クラス、構造体、または列挙をその型の定義で宣言してはなりません

A7-2-2 (Required): Enumeration underlying base type shall be explicitly defined.

AUTOSAR.ENUM.EXPLICIT_BASE_TYPE  列挙の基になるベース型は、明示的に定義する必要があります

A7-2-2 (req.)

AUTOSAR.ENUM.EXPLICIT_BASE_TYPE  列挙の基になるベース型は、明示的に定義する必要があります

A7-2-2 (必要): 列挙の基になるベース型は、明示的に定義しなければなりません。

AUTOSAR.ENUM.EXPLICIT_BASE_TYPE  列挙の基になるベース型は、明示的に定義する必要があります

A7-2-3 (Required): Enumerations shall be declared as scoped enum classes.

AUTOSAR.ENUM.UNSCOPED  列挙は、スコープ付きの enum クラスとして宣言する必要があります

A7-2-3 (req.)

AUTOSAR.ENUM.UNSCOPED  列挙は、スコープ付きの enum クラスとして宣言する必要があります

A7-2-3 (必要): 列挙は、スコープ付きの enum クラスとして宣言しなければなりません。

AUTOSAR.ENUM.UNSCOPED  列挙は、スコープ付きの enum クラスとして宣言する必要があります

A7-2-4 (Required): In an enumeration

MISRA.ENUM.INIT  1 番目以外の列挙子が明示的に初期化されていますが、一部の要素が明示的に初期化されていません

A7-2-4 (req.)

MISRA.ENUM.INIT  1 番目以外の列挙子が明示的に初期化されていますが、一部の要素が明示的に初期化されていません

A7-2-4 (必要): 列挙型では、(1) どれも初期化されないか、または (2) 最初の列挙子もしくは (3) すべての列挙子が初期化されなければなりません。

MISRA.ENUM.INIT  1 番目以外の列挙子が明示的に初期化されていますが、一部の要素が明示的に初期化されていません

A7-3-1 (Required): All overloads of a function shall be visible from where it is called.

MISRA.NS.USING_DECL  同じ名前空間での識別子に対する複数宣言はその識別子の using 宣言にまたがってはいけません

A7-3-1 (req.)

MISRA.NS.USING_DECL  同じ名前空間での識別子に対する複数宣言はその識別子の using 宣言にまたがってはいけません

A7-3-1 (必要): 関数のすべてのオーバーロードは、それが呼び出された場所から見えなければなりません。

MISRA.NS.USING_DECL  同じ名前空間での識別子に対する複数宣言はその識別子の using 宣言にまたがってはいけません

A7-4-1 (Required): The asm declaration shall not be used.

AUTOSAR.ASM  asm 宣言は使用してはなりません

A7-4-1 (req.)

AUTOSAR.ASM  asm 宣言は使用してはなりません

A7-4-1 (必要): asm 宣言は使用してはなりません。

AUTOSAR.ASM  asm 宣言は使用してはなりません

A7-5-1 (Required): A function shall not return a reference or a pointer to a parameter that is passed by reference to const.

AUTOSAR.ADD.RTN.REF.CONST.PARAM  const への参照によって渡されるパラメーターへの参照またはポインターを関数が返してはなりません

A7-5-1 (req.)

AUTOSAR.ADD.RTN.REF.CONST.PARAM  const への参照によって渡されるパラメーターへの参照またはポインターを関数が返してはなりません

A7-5-1 (必要): const への参照によって渡されるパラメーターへの参照またはポインターを関数が返してはなりません。

AUTOSAR.ADD.RTN.REF.CONST.PARAM  const への参照によって渡されるパラメーターへの参照またはポインターを関数が返してはなりません

A7-5-2 (Required): Functions shall not call themselves

MISRA.FUNC.RECUR  再帰関数

A7-5-2 (req.)

MISRA.FUNC.RECUR  再帰関数

A7-5-2 (必要): 関数は、直接的か間接的かにかかわらず、その関数自身を呼び出してはなりません。

MISRA.FUNC.RECUR  再帰関数

A8-2-1 (Required): When declaring function templates

AUTOSAR.ADD.FUNC.TEMPLATE.TRAIL.RTN  関数テンプレートでは、戻り値型がパラメーターの型に依存する場合、後置戻り値型構文を使用する必要があります

A8-2-1 (req.)

AUTOSAR.ADD.FUNC.TEMPLATE.TRAIL.RTN  関数テンプレートでは、戻り値型がパラメーターの型に依存する場合、後置戻り値型構文を使用する必要があります

A8-2-1 (必要): 関数テンプレートを宣言する場合、戻り値型がパラメーターの型に依存するのであれば、後置戻り値型構文を使用しなければなりません。

AUTOSAR.ADD.FUNC.TEMPLATE.TRAIL.RTN  関数テンプレートでは、戻り値型がパラメーターの型に依存する場合、後置戻り値型構文を使用する必要があります

A8-4-1 (Required): Functions shall not be defined using the ellipsis notation.

MISRA.FUNC.VARARG  関数が可変数の引数を持っています

A8-4-1 (req.)

MISRA.FUNC.VARARG  関数が可変数の引数を持っています

A8-4-1 (必要): 関数は省略記法を使用して定義してはなりません。

MISRA.FUNC.VARARG  関数が可変数の引数を持っています

A8-4-2 (Required): All exit paths from a function with non-void return type shall have an explicit return statement with an expression.

FUNCRET.GEN  非 void 関数に戻り値がありません

A8-4-2 (req.)

FUNCRET.GEN  非 void 関数に戻り値がありません

A8-4-2 (必要): void 以外の戻り値の型を持つ関数からのすべての終了パスには、式を含む明示的な return ステートメントが必要です。

FUNCRET.GEN  非 void 関数に戻り値がありません

A8-5-0 (Required): All memory shall be initialized before it is read.

UNINIT.CTOR.MIGHT  コンストラクタにおける未初期化の変数の可能性

UNINIT.CTOR.MUST  コンストラクタにおける未初期化の変数

UNINIT.HEAP.MIGHT  未初期化のヒープの使用の可能性

UNINIT.HEAP.MUST  未初期化のヒープの使用

UNINIT.STACK.ARRAY.MIGHT  未初期化の配列の可能性

UNINIT.STACK.ARRAY.MUST  未初期化の配列

UNINIT.STACK.ARRAY.PARTIAL.MUST  一部が未初期化の配列

UNINIT.STACK.MIGHT  未初期化の変数の可能性

UNINIT.STACK.MUST  未初期化の変数

A8-5-0 (req.)

UNINIT.CTOR.MIGHT  コンストラクタにおける未初期化の変数の可能性

UNINIT.CTOR.MUST  コンストラクタにおける未初期化の変数

UNINIT.HEAP.MIGHT  未初期化のヒープの使用の可能性

UNINIT.HEAP.MUST  未初期化のヒープの使用

UNINIT.STACK.ARRAY.MIGHT  未初期化の配列の可能性

UNINIT.STACK.ARRAY.MUST  未初期化の配列

UNINIT.STACK.ARRAY.PARTIAL.MUST  一部が未初期化の配列

UNINIT.STACK.MIGHT  未初期化の変数の可能性

UNINIT.STACK.MUST  未初期化の変数

A8-5-0 (必要): すべてのメモリは、読み取られる前に初期化されなければなりません。

UNINIT.CTOR.MIGHT  コンストラクタにおける未初期化の変数の可能性

UNINIT.CTOR.MUST  コンストラクタにおける未初期化の変数

UNINIT.HEAP.MIGHT  未初期化のヒープの使用の可能性

UNINIT.HEAP.MUST  未初期化のヒープの使用

UNINIT.STACK.ARRAY.MIGHT  未初期化の配列の可能性

UNINIT.STACK.ARRAY.MUST  未初期化の配列

UNINIT.STACK.ARRAY.PARTIAL.MUST  一部が未初期化の配列

UNINIT.STACK.MIGHT  未初期化の変数の可能性

UNINIT.STACK.MUST  未初期化の変数

A8-5-1 (Required): In an initialization list

CWARN.MEMBER.INIT.ORDER  初期化リストのメンバーが、クラスで宣言された順序でリストされません

A8-5-1 (req.)

CWARN.MEMBER.INIT.ORDER  初期化リストのメンバーが、クラスで宣言された順序でリストされません

A8-5-1 (必要): 初期化リストで、初期化の順序が次のようにならなければなりません。...

CWARN.MEMBER.INIT.ORDER  初期化リストのメンバーが、クラスで宣言された順序でリストされません

A8-5-3 (Required): A variable of type auto shall not be initialized using {} or ={} braced-initialization.

AUTOSAR.ADD.AUTO.INIT.FORMAT  auto 型の変数を {} または ={} ブレース初期化を使用して初期化してはなりません。

A8-5-3 (req.)

AUTOSAR.ADD.AUTO.INIT.FORMAT  auto 型の変数を {} または ={} ブレース初期化を使用して初期化してはなりません。

A8-5-3 (必要): auto 型の変数を {} または ={} ブレース初期化を使用して初期化してはなりません。

AUTOSAR.ADD.AUTO.INIT.FORMAT  auto 型の変数を {} または ={} ブレース初期化を使用して初期化してはなりません。

A8-5-4 (Advisory): If a class has a user-declared constructor that takes a parameter of type std::initializer_list

AUTOSAR.ADD.CTOR.INIT.LIST  std::initializer_list 型のパラメーターを受け取るユーザー宣言コンストラクタがクラスに含まれる場合、特殊メンバー関数コンストラクタを除いて、そのコンストラクタが唯一のコンストラクタでなければなりません

A8-5-4 (adv.)

AUTOSAR.ADD.CTOR.INIT.LIST  std::initializer_list 型のパラメーターを受け取るユーザー宣言コンストラクタがクラスに含まれる場合、特殊メンバー関数コンストラクタを除いて、そのコンストラクタが唯一のコンストラクタでなければなりません

A8-5-4 (推奨): std::initializer_list 型のパラメーターを受け取るユーザー宣言コンストラクターがクラスに含まれる場合、特殊メンバー関数コンストラクターを除いて、そのコンストラクターが唯一のコンストラクターでなければなりません。

AUTOSAR.ADD.CTOR.INIT.LIST  std::initializer_list 型のパラメーターを受け取るユーザー宣言コンストラクタがクラスに含まれる場合、特殊メンバー関数コンストラクタを除いて、そのコンストラクタが唯一のコンストラクタでなければなりません

A9-3-1 (Required): Member functions shall not return non-const “raw” pointers or references to private or protected data owned by the class.

MISRA.RET.REF.NON_CONST  メンバー関数が非定数のハンドルをメンバー変数に返しています

A9-3-1 (req.)

MISRA.RET.REF.NON_CONST  メンバー関数が非定数のハンドルをメンバー変数に返しています

A9-3-1 (必要): メンバー関数は、クラスが所有するプライベートデータまたは保護データへの非定数の「raw」ポインターまたは参照を返してはなりません。

MISRA.RET.REF.NON_CONST  メンバー関数が非定数のハンドルをメンバー変数に返しています

A9-5-1 (Required): Unions shall not be used.

AUTOSAR.UNION  和集合は使用してはなりません

A9-5-1 (req.)

AUTOSAR.UNION  和集合は使用してはなりません

A9-5-1 (必要): 和集合は使用してはなりません。

AUTOSAR.UNION  和集合は使用してはなりません

A10-2-1 (Required): Non-virtual public or protected member functions shall not be redefined in derived classes.

AUTOSAR.ADD.REDEF.DERIVED.FUNC  パブリックの、または保護された非仮想メンバー関数を派生クラスで再定義してはなりません。

A10-2-1 (req.)

AUTOSAR.ADD.REDEF.DERIVED.FUNC  パブリックの、または保護された非仮想メンバー関数を派生クラスで再定義してはなりません。

A10-2-1 (必要):パブリックの、または保護された非仮想メンバー関数を派生クラスで再定義してはなりません。

AUTOSAR.ADD.REDEF.DERIVED.FUNC  パブリックの、または保護された非仮想メンバー関数を派生クラスで再定義してはなりません。

A10-3-1 (Required): Virtual function declaration shall contain exactly one of the three specifiers: (1) virtual

AUTOSAR.MEMB.VIRTUAL.SPEC  仮想関数宣言には 3 つの指定子 (1) virtual、(2) override、(3) final の内の 1 つのみが含まれていなければなりません

A10-3-1 (req.)

AUTOSAR.MEMB.VIRTUAL.SPEC  仮想関数宣言には 3 つの指定子 (1) virtual、(2) override、(3) final の内の 1 つのみが含まれていなければなりません

A10-3-1 (必要): 仮想関数宣言には 3 つの指定子 (1) virtual、(2) override、(3) final の内の 1 つだけを含める必要があります。

AUTOSAR.MEMB.VIRTUAL.SPEC  仮想関数宣言には 3 つの指定子 (1) virtual、(2) override、(3) final の内の 1 つのみが含まれていなければなりません

A10-3-2 (Required): Each overriding virtual function shall be declared with the override or final specifier.

AUTOSAR.ADD.OVERRIDE.VIRTUAL.SPECIFIER  オーバーライドする仮想関数はそれぞれ、override または final 指定子で宣言する必要があります

A10-3-2 (req.)

AUTOSAR.ADD.OVERRIDE.VIRTUAL.SPECIFIER  オーバーライドする仮想関数はそれぞれ、override または final 指定子で宣言する必要があります

A10-3-2 (必要): オーバーライドする仮想関数はそれぞれ、override または final 指定子で宣言する必要があります。

AUTOSAR.ADD.OVERRIDE.VIRTUAL.SPECIFIER  オーバーライドする仮想関数はそれぞれ、override または final 指定子で宣言する必要があります

A10-3-3 (Required): Virtual functions shall not be introduced in a final class.

AUTOSAR.MEMB.VIRTUAL.FINAL  仮想関数は final クラスに含めてはなりません

A10-3-3 (req.)

AUTOSAR.MEMB.VIRTUAL.FINAL  仮想関数は final クラスに含めてはなりません

A10-3-3 (必要): 仮想関数は final クラスに含めてはなりません。

AUTOSAR.MEMB.VIRTUAL.FINAL  仮想関数は final クラスに含めてはなりません

A10-3-5 (Required): A user-defined assignment operator shall not be virtual.

AUTOSAR.ADD.ASSIGN.OP.VIRTUAL  ユーザー定義の代入演算子は virtual であってはなりません

A10-3-5 (req.)

AUTOSAR.ADD.ASSIGN.OP.VIRTUAL  ユーザー定義の代入演算子は virtual であってはなりません

A10-3-5 (必要): ユーザー定義の代入演算子は virtual であってはなりません。

AUTOSAR.ADD.ASSIGN.OP.VIRTUAL  ユーザー定義の代入演算子は virtual であってはなりません

A11-3-1 (Required): Friend declarations shall not be used.

AUTOSAR.FRIEND_DECL  フレンド宣言は使用してはなりません

A11-3-1 (req.)

AUTOSAR.FRIEND_DECL  フレンド宣言は使用してはなりません

A11-3-1 (必要): フレンド宣言は使用してはなりません。

AUTOSAR.FRIEND_DECL  フレンド宣言は使用してはなりません

A12-1-1 (Required): Constructors shall explicitly initialize all virtual base classes

MISRA.CTOR.BASE  コンストラクタがその基本クラスのコンストラクタを明示的に呼び出していません

A12-1-1 (req.)

MISRA.CTOR.BASE  コンストラクタがその基本クラスのコンストラクタを明示的に呼び出していません

A12-1-1 (必要): コンストラクターは、すべての仮想基底クラス、すべての直接非仮想基底クラス、およびすべての非静的データメンバーを明示的に初期化しなければなりません。

MISRA.CTOR.BASE  コンストラクタがその基本クラスのコンストラクタを明示的に呼び出していません

A12-1-2 (Required): Both NSDMI and a non-static member initializer in a constructor shall not be used in the same type.

AUTOSAR.CTOR.NSDMI_INIT_LIST  コンストラクタ内の NSDMI と非静的メンバー初期化子の両方を同じ型で使用してはなりません

A12-1-2 (req.)

AUTOSAR.CTOR.NSDMI_INIT_LIST  コンストラクタ内の NSDMI と非静的メンバー初期化子の両方を同じ型で使用してはなりません

A12-1-2 (必要): コンストラクター内の NSDMI と非静的メンバー初期化子の両方を同じ型で使用してはなりません。

AUTOSAR.CTOR.NSDMI_INIT_LIST  コンストラクタ内の NSDMI と非静的メンバー初期化子の両方を同じ型で使用してはなりません

A12-1-4 (Required): All constructors that are callable with a single argument of fundamental type shall be declared explicit.

AUTOSAR.CTOR.NO_EXPLICIT  基本型の単一の引数で呼び出せるコンストラクタはすべて、explicit と宣言する必要があります

A12-1-4 (req.)

AUTOSAR.CTOR.NO_EXPLICIT  基本型の単一の引数で呼び出せるコンストラクタはすべて、explicit と宣言する必要があります

A12-1-4 (必要): 基本型の単一の引数で呼び出せるすべてのコンストラクターは、explicit と宣言する必要があります。

AUTOSAR.CTOR.NO_EXPLICIT  基本型の単一の引数で呼び出せるコンストラクタはすべて、explicit と宣言する必要があります

A12-4-1 (Required): Destructor of a base class shall be public virtual

CL.MLK.VIRTUAL  メモリリーク - デストラクタで発生している可能性

A12-4-1 (req.)

CL.MLK.VIRTUAL  メモリリーク - デストラクタで発生している可能性

A12-4-1 (必要): 基底クラスのデストラクターは、public virtual、public override、または protected non-virtual でなければなりません。

CL.MLK.VIRTUAL  メモリリーク - デストラクタで発生している可能性

A12-4-2 (Advisory): If a public destructor of a class is non-virtual

AUTOSAR.DTOR.NON_VIRTUAL  クラスのパブリックデストラクタが非仮想的である場合、そのクラスは final と宣言する必要があります

A12-4-2 (adv.)

AUTOSAR.DTOR.NON_VIRTUAL  クラスのパブリックデストラクタが非仮想的である場合、そのクラスは final と宣言する必要があります

A12-4-2 (推奨): クラスのパブリックデストラクタが非仮想的である場合、そのクラスは final と宣言する必要があります。

AUTOSAR.DTOR.NON_VIRTUAL  クラスのパブリックデストラクタが非仮想的である場合、そのクラスは final と宣言する必要があります

A12-6-1 (Required): All class data members that are initialized by the constructor shall be initialized using member initializers.

AUTOSAR.ADD.CTOR.MEMBER.INIT  このコンストラクタによって初期化されるクラスデータメンバーはすべて、メンバー初期化子を使用して初期化する必要があります

A12-6-1 (req.)

AUTOSAR.ADD.CTOR.MEMBER.INIT  このコンストラクタによって初期化されるクラスデータメンバーはすべて、メンバー初期化子を使用して初期化する必要があります

A12-6-1 (必要): このコンストラクターによって初期化されるクラスデータメンバーはすべて、メンバー初期化子を使用して初期化する必要があります。

AUTOSAR.ADD.CTOR.MEMBER.INIT  このコンストラクタによって初期化されるクラスデータメンバーはすべて、メンバー初期化子を使用して初期化する必要があります

A12-8-4 (Required): Move constructor shall not initialize its class members and base classes using copy semantics.

AUTOSAR.CTOR.MOVE.COPY_SEMANTICS  移動コンストラクタがコピーセマンティクスを使用してそのクラスメンバーと基本クラスを初期化してはなりません

A12-8-4 (req.)

AUTOSAR.CTOR.MOVE.COPY_SEMANTICS  移動コンストラクタがコピーセマンティクスを使用してそのクラスメンバーと基本クラスを初期化してはなりません

A12-8-4 (必要): 移動コンストラクタがコピーセマンティクスを使用してそのクラスメンバーと基底クラスを初期化してはなりません。

AUTOSAR.CTOR.MOVE.COPY_SEMANTICS  移動コンストラクタがコピーセマンティクスを使用してそのクラスメンバーと基本クラスを初期化してはなりません

A12-8-5 (Required): A copy assignment and a move assignment operators shall handle self-assignment.

CL.SELF-ASSIGN  解放済みメモリの使用 (二重解放) - operator=

A12-8-5 (req.)

CL.SELF-ASSIGN  解放済みメモリの使用 (二重解放) - operator=

A12-8-5 (必要): コピー代入演算子と移動代入演算子は自己代入を処理しなければなりません。

CL.SELF-ASSIGN  解放済みメモリの使用 (二重解放) - operator=

A12-8-7 (Advisory): Assignment operators should be declared with the ref-qualifier &.

AUTOSAR.ASSIGN.REF_QUAL  代入演算子は、参照修飾子 & を使用して宣言する必要があります

A12-8-7 (adv.)

AUTOSAR.ASSIGN.REF_QUAL  代入演算子は、参照修飾子 & を使用して宣言する必要があります

A12-8-7 (推奨): 代入演算子は、参照修飾子 & を使用して宣言する必要があります。

AUTOSAR.ASSIGN.REF_QUAL  代入演算子は、参照修飾子 & を使用して宣言する必要があります

A13-1-2 (Required): User defined suffixes of the user defined literal operators shall start with underscore followed by one or more letters.

AUTOSAR.OP.LITERAL.SUFFIX  ユーザー定義のリテラル演算子のユーザー定義の接尾辞は、アンダースコアで始まり、その後に 1 字以上の英字が続く必要があります

A13-1-2 (req.)

AUTOSAR.OP.LITERAL.SUFFIX  ユーザー定義のリテラル演算子のユーザー定義の接尾辞は、アンダースコアで始まり、その後に 1 字以上の英字が続く必要があります

A13-1-2 (必要): ユーザー定義のリテラル演算子のユーザー定義の接尾辞は、アンダースコアで始まり、その後に 1 字以上の英字が続く必要があります。

AUTOSAR.OP.LITERAL.SUFFIX  ユーザー定義のリテラル演算子のユーザー定義の接尾辞は、アンダースコアで始まり、その後に 1 字以上の英字が続く必要があります

A13-2-1 (Required): An assignment operator shall return a reference to “this”.

AUTOSAR.ASSIGN.RETURN  代入演算子は "this" への参照を返す必要があります

A13-2-1 (req.)

AUTOSAR.ASSIGN.RETURN  代入演算子は "this" への参照を返す必要があります

A13-2-1 (必要): 代入演算子は "this" への参照を返す必要があります。

AUTOSAR.ASSIGN.RETURN  代入演算子は "this" への参照を返す必要があります

A13-2-2 (Required): A binary arithmetic operator and a bitwise operator shall return a “prvalue”.

AUTOSAR.OP.BINARY.RETVAL  2 進算術演算子とビット演算子は "prvalue" を返す必要があります

A13-2-2 (req.)

AUTOSAR.OP.BINARY.RETVAL  2 進算術演算子とビット演算子は "prvalue" を返す必要があります

A13-2-2 (必要): 2 進算術演算子とビット演算子は "prvalue" を返す必要があります。

AUTOSAR.OP.BINARY.RETVAL  2 進算術演算子とビット演算子は "prvalue" を返す必要があります

A13-2-3 (Required): A relational operator shall return a boolean value.

AUTOSAR.OP.RELATIONAL.RETVAL  関係演算子はブール値を返す必要があります

A13-2-3 (req.)

AUTOSAR.OP.RELATIONAL.RETVAL  関係演算子はブール値を返す必要があります

A13-2-3 (必要): 関係演算子はブール値を返す必要があります。

AUTOSAR.OP.RELATIONAL.RETVAL  関係演算子はブール値を返す必要があります

A13-5-1 (Required): If “operator[]” is to be overloaded with a non-const version

AUTOSAR.OP.INDEX.NON_CONST  "operator[]" を非 const バージョンで多重定義する予定であれば、const バージョンも実装する必要があります

A13-5-1 (req.)

AUTOSAR.OP.INDEX.NON_CONST  "operator[]" を非 const バージョンで多重定義する予定であれば、const バージョンも実装する必要があります

A13-5-1 (必要): "operator[]" を非 const バージョンで多重定義する予定であれば、const バージョンも実装する必要があります。

AUTOSAR.OP.INDEX.NON_CONST  "operator[]" を非 const バージョンで多重定義する予定であれば、const バージョンも実装する必要があります

A13-5-2 (Required): All user-defined conversion operators shall be defined explicit.

AUTOSAR.OP.CONV.NON_EXPLICIT  ユーザー定義の変換演算子はすべて、explicit と定義する必要があります

A13-5-2 (req.)

AUTOSAR.OP.CONV.NON_EXPLICIT  ユーザー定義の変換演算子はすべて、explicit と定義する必要があります

A13-5-2 (必要): ユーザー定義の変換演算子はすべて、explicit と定義する必要があります。

AUTOSAR.OP.CONV.NON_EXPLICIT  ユーザー定義の変換演算子はすべて、explicit と定義する必要があります

A13-5-3 (Advisory): User-defined conversion operators should not be used.

AUTOSAR.OP.CONV  ユーザー定義の変換演算子は使用してはなりません

A13-5-3 (adv.)

AUTOSAR.OP.CONV  ユーザー定義の変換演算子は使用してはなりません

A13-5-3 (推奨): ユーザー定義の変換演算子は使用してはなりません。

AUTOSAR.OP.CONV  ユーザー定義の変換演算子は使用してはなりません

A13-5-5 (Required): Comparison operators shall be non-member functions with identical parameter types and noexcept.

AUTOSAR.OP.COMPARE.MEMBER  比較演算子は非メンバー関数でなければなりません

AUTOSAR.OP.COMPARE.NON_NOEXCEPT  比較演算子は noexcept でなければなりません

AUTOSAR.OP.COMPARE.PARAMS  比較演算子のパラメーター型は同一でなければなりません

A13-5-5 (req.)

AUTOSAR.OP.COMPARE.MEMBER  比較演算子は非メンバー関数でなければなりません

AUTOSAR.OP.COMPARE.NON_NOEXCEPT  比較演算子は noexcept でなければなりません

AUTOSAR.OP.COMPARE.PARAMS  比較演算子のパラメーター型は同一でなければなりません

A13-5-5 (必要): 比較演算子は、同一のパラメーター型と noexcept を持つ非メンバー関数でなければなりません。

AUTOSAR.OP.COMPARE.MEMBER  比較演算子は非メンバー関数でなければなりません

AUTOSAR.OP.COMPARE.NON_NOEXCEPT  比較演算子は noexcept でなければなりません

AUTOSAR.OP.COMPARE.PARAMS  比較演算子のパラメーター型は同一でなければなりません

A13-6-1 (Required): Digit sequences separators ’ shall only be used as follows: (1) for decimal

AUTOSAR.DIGIT_SEPARATORS  数字列の区切り子 ' は、(1) 10 進数を 3 桁ずつ、(2) 16 進数を 2 桁ずつ、(3) 2 進数を 4 桁ずつ区切る場合のみ使用する必要があります

A13-6-1 (req.)

AUTOSAR.DIGIT_SEPARATORS  数字列の区切り子 ' は、(1) 10 進数を 3 桁ずつ、(2) 16 進数を 2 桁ずつ、(3) 2 進数を 4 桁ずつ区切る場合のみ使用する必要があります

A13-6-1 (必要): 数字列の区切り子 ' は、(1) 10 進数を 3 桁ずつ、(2) 16 進数を 2 桁ずつ、(3) 2 進数を 4 桁ずつ区切る場合のみ使用する必要があります。

AUTOSAR.DIGIT_SEPARATORS  数字列の区切り子 ' は、(1) 10 進数を 3 桁ずつ、(2) 16 進数を 2 桁ずつ、(3) 2 進数を 4 桁ずつ区切る場合のみ使用する必要があります

A14-5-1 (Required): A template constructor shall not participate in overload resolution for a single argument of the enclosing class type.

MISRA.COPY.CSTR.TMPL  クラスには、単一の汎用パラメーターを持つテンプレートコンストラクタがありますが、コピーコンストラクタが定義されていません

A14-5-1 (req.)

MISRA.COPY.CSTR.TMPL  クラスには、単一の汎用パラメーターを持つテンプレートコンストラクタがありますが、コピーコンストラクタが定義されていません

A14-5-1 (必要): テンプレートコンストラクターは、囲んでいるクラス型の単一の引数のオーバーロード解決に参加してはなりません。

MISRA.COPY.CSTR.TMPL  クラスには、単一の汎用パラメーターを持つテンプレートコンストラクタがありますが、コピーコンストラクタが定義されていません

A14-5-3 (Advisory): A non-member generic operator shall only be declared in a namespace that does not contain class (struct) type

AUTOSAR.OP.TMPL.NON_MEMBER  非メンバージェネリック演算子は、クラス (構造体) 型、列挙型、または和集合型の宣言が含まれない名前空間でのみ宣言する必要があります

A14-5-3 (adv.)

AUTOSAR.OP.TMPL.NON_MEMBER  非メンバージェネリック演算子は、クラス (構造体) 型、列挙型、または和集合型の宣言が含まれない名前空間でのみ宣言する必要があります

A14-5-3 (推奨): 非メンバージェネリック演算子は、クラス (構造体) 型、列挙型、または和集合型の宣言が含まれない名前空間でのみ宣言する必要があります。

AUTOSAR.OP.TMPL.NON_MEMBER  非メンバージェネリック演算子は、クラス (構造体) 型、列挙型、または和集合型の宣言が含まれない名前空間でのみ宣言する必要があります

A14-7-2 (Required): Template specialization shall be declared in the same file (1) as the primary template (2) as a user-defined type

MISRA.SPEC.SAMEFILE  テンプレート特殊化とその基本テンプレートが別々のファイルで宣言されています

A14-7-2 (req.)

MISRA.SPEC.SAMEFILE  テンプレート特殊化とその基本テンプレートが別々のファイルで宣言されています

A14-7-2 (必要): テンプレートの特殊化は、プライマリテンプレート (1) と同じファイル (2) で、特殊化が宣言されているユーザー定義型として宣言されなければなりません。

MISRA.SPEC.SAMEFILE  テンプレート特殊化とその基本テンプレートが別々のファイルで宣言されています

A14-8-2 (Required): Explicit specializations of function templates shall not be used.

AUTOSAR.FUNC.TMPL.EXPLICIT_SPEC  関数テンプレートの明示的な指定は使用してはなりません

A14-8-2 (req.)

AUTOSAR.FUNC.TMPL.EXPLICIT_SPEC  関数テンプレートの明示的な指定は使用してはなりません

A14-8-2 (必要): 関数テンプレートの明示的な指定は使用してはなりません。

AUTOSAR.FUNC.TMPL.EXPLICIT_SPEC  関数テンプレートの明示的な指定は使用してはなりません

A15-1-2 (Required): An exception object shall not be a pointer.

MISRA.THROW.PTR  例外オブジェクトがポインタになっています

A15-1-2 (req.)

MISRA.THROW.PTR  例外オブジェクトがポインタになっています

A15-1-2 (必要): 例外オブジェクトはポインターであってはなりません。

MISRA.THROW.PTR  例外オブジェクトがポインタになっています

A15-1-4 (Required): If a function exits with an exception

MLK.MIGHT  メモリリークの可能性

MLK.MUST  メモリリーク

MLK.RET.MIGHT  メモリリークの可能性

MLK.RET.MUST  メモリリーク

A15-1-4 (req.)

MLK.MIGHT  メモリリークの可能性

MLK.MUST  メモリリーク

MLK.RET.MIGHT  メモリリークの可能性

MLK.RET.MUST  メモリリーク

A15-1-4 (必要): 関数は、例外で終了する場合には、スローの前に、構築したすべてのオブジェクト/リソースを有効な状態にするか、または削除しなければなりません。

MLK.MIGHT  メモリリークの可能性

MLK.MUST  メモリリーク

MLK.RET.MIGHT  メモリリークの可能性

MLK.RET.MUST  メモリリーク

A15-2-2 (Required): If a constructor is not noexcept and the constructor cannot finish object initialization

CL.MLK  メモリリーク - デストラクタで発生

A15-2-2 (req.)

CL.MLK  メモリリーク - デストラクタで発生

A15-2-2 (必要): コンストラクターは、noexcept ではなく、オブジェクトの初期化を完了できない場合には、オブジェクトのリソースの割り当てを解除し、例外をスローしなければなりません。

CL.MLK  メモリリーク - デストラクタで発生

A15-3-3 (Required): Main function and a task main function shall catch at least: base class exceptions from all third-party libraries used

MISRA.CATCH.ALL  try-catch ブロックに省略記号例外ハンドラーがありません

A15-3-3 (req.)

MISRA.CATCH.ALL  try-catch ブロックに省略記号例外ハンドラーがありません

A15-3-3 (必要): メイン関数およびタスクのメイン関数は、少なくとも、使用されているすべてのサードパーティライブラリからの基底クラス例外と、std::exception およびその他のすべての未処理の例外をキャッチしなければなりません。

MISRA.CATCH.ALL  try-catch ブロックに省略記号例外ハンドラーがありません

A15-3-5 (Required): A class type exception shall be caught by reference or const reference.

MISRA.CATCH.BY_VALUE  クラス タイプの例外オブジェクトが値によってキャッチされています

A15-3-5 (req.)

MISRA.CATCH.BY_VALUE  クラス タイプの例外オブジェクトが値によってキャッチされています

A15-3-5 (必要): クラス型例外は参照または const 参照によってキャッチされなければなりません。

MISRA.CATCH.BY_VALUE  クラス タイプの例外オブジェクトが値によってキャッチされています

A15-4-1 (Required): Dynamic exception-specification shall not be used.

AUTOSAR.EXCPT.DYNAMIC_SPEC  動的な例外指定は使用してはなりません

A15-4-1 (req.)

AUTOSAR.EXCPT.DYNAMIC_SPEC  動的な例外指定は使用してはなりません

A15-4-1 (必要): 動的な例外指定は使用してはなりません。

AUTOSAR.EXCPT.DYNAMIC_SPEC  動的な例外指定は使用してはなりません

A15-4-2 (Required): If a function is declared to be noexcept

AUTOSAR.EXCPT.NOEXCPT_THROW  関数を noexcept、noexcept(true)、または noexcept(<true condition>) と宣言する場合、その関数は例外を送出して終了してはなりません

A15-4-2 (req.)

AUTOSAR.EXCPT.NOEXCPT_THROW  関数を noexcept、noexcept(true)、または noexcept(<true condition>) と宣言する場合、その関数は例外を送出して終了してはなりません

A15-4-2 (必要): 関数が noexcept、noexcept(true)、または noexcept(<true condition>) であると宣言されている場合、その関数は例外で終了してはなりません。

AUTOSAR.EXCPT.NOEXCPT_THROW  関数を noexcept、noexcept(true)、または noexcept(<true condition>) と宣言する場合、その関数は例外を送出して終了してはなりません

A15-5-1 (Required): All user-provided class destructors

AUTOSAR.EXCPT.SPECIAL_MEMBER_THROW  ユーザー指定のクラスデストラクタ、割り当て解除関数、移動コンストラクタ、移動代入演算子、およびスワップ関数は、どれも例外を送出して終了してはなりません

A15-5-1 (req.)

AUTOSAR.EXCPT.SPECIAL_MEMBER_THROW  ユーザー指定のクラスデストラクタ、割り当て解除関数、移動コンストラクタ、移動代入演算子、およびスワップ関数は、どれも例外を送出して終了してはなりません

A15-5-1 (必要): ユーザー指定のクラスデストラクター、割り当て解除関数、移動コンストラクター、移動代入演算子、およびスワップ関数は、どれも例外を送出して終了してはなりません。

AUTOSAR.EXCPT.SPECIAL_MEMBER_THROW  ユーザー指定のクラスデストラクタ、割り当て解除関数、移動コンストラクタ、移動代入演算子、およびスワップ関数は、どれも例外を送出して終了してはなりません

A15-5-2 (Required): Program shall not be abruptly terminated. In particular

MISRA.STDLIB.ABORT  ライブラリ stdlib.h から 'abort'、'exit'、'getenv' または 'system' が使用されています

A15-5-2 (req.)

MISRA.STDLIB.ABORT  ライブラリ stdlib.h から 'abort'、'exit'、'getenv' または 'system' が使用されています

A15-5-2 (必要): プログラムは突然終了してはなりません。特に、std::abort()、std::quick_exit()、std::_Exit()、std::terminate() の暗黙的または明示的な呼び出しが行われてはなりません。

MISRA.STDLIB.ABORT  ライブラリ stdlib.h から 'abort'、'exit'、'getenv' または 'system' が使用されています

A16-0-1 (Required): ... inclusion and include guards

MISRA.USE.DEFINE  マクロが保護されずに定義されています

A16-0-1 (req.)

MISRA.USE.DEFINE  マクロが保護されずに定義されています

A16-0-1 (必要): ...インクルードおよびインクルードガード、ならびに次のディレクティブの使用: ...

MISRA.USE.DEFINE  マクロが保護されずに定義されています

A16-2-1 (Required): The ’

MISRA.INCL.SYMS  ヘッダーファイル名に非標準文字が使用されています

A16-2-1 (req.)

MISRA.INCL.SYMS  ヘッダーファイル名に非標準文字が使用されています

A16-2-1 (必要): 文字 ’、"、/*、//、\ がヘッダーファイル名または #include ディレクティブ内に存在してはなりません。

MISRA.INCL.SYMS  ヘッダーファイル名に非標準文字が使用されています

A16-7-1 (Required): The #pragma directive shall not be used.

MISRA.PRAGMA  ドキュメントにない pragma ディレクティブです

A16-7-1 (req.)

MISRA.PRAGMA  ドキュメントにない pragma ディレクティブです

A16-7-1 (必要): #pragma ディレクティブは使用してはなりません。

MISRA.PRAGMA  ドキュメントにない pragma ディレクティブです

A17-0-1 (Required): Reserved identifiers

MISRA.DEFINE.WRONGNAME  標準ライブラリからの名前がマクロ名に使用されています

MISRA.DEFINE.WRONGNAME.UNDERSCORE  予約名がマクロ名に使用されています

A17-0-1 (req.)

MISRA.DEFINE.WRONGNAME  標準ライブラリからの名前がマクロ名に使用されています

MISRA.DEFINE.WRONGNAME.UNDERSCORE  予約名がマクロ名に使用されています

A17-0-1 (必要): 標準ライブラリ内の予約済みの識別子、マクロ、関数は、定義、再定義、または未定義にすることはできません。

MISRA.DEFINE.WRONGNAME  標準ライブラリからの名前がマクロ名に使用されています

MISRA.DEFINE.WRONGNAME.UNDERSCORE  予約名がマクロ名に使用されています

A18-0-1 (Required): The C library facilities shall only be accessed through C++ library headers.

MISRA.EXPANSION.UNSAFE  安全ではないマクロの使用

A18-0-1 (req.)

MISRA.EXPANSION.UNSAFE  安全ではないマクロの使用

A18-0-1 (必要): C ライブラリ機能には、C++ ライブラリヘッダーによってのみアクセスしなければなりません。

MISRA.EXPANSION.UNSAFE  安全ではないマクロの使用

A18-0-2 (Required): The error state of a conversion from string to a numeric value shall be checked.

MISRA.STDLIB.ATOI  ライブラリ stdlib.h から 'atof'、'atoi' または 'atol' が使用されています

A18-0-2 (req.)

MISRA.STDLIB.ATOI  ライブラリ stdlib.h から 'atof'、'atoi' または 'atol' が使用されています

A18-0-2 (必要): 文字列から数値への変換のエラー状態がチェックされなければなりません。

MISRA.STDLIB.ATOI  ライブラリ stdlib.h から 'atof'、'atoi' または 'atol' が使用されています

A18-0-3 (Required): The library <clocale> (locale.h) and the setlocale function shall not be used.

AUTOSAR.SETLOCALE  ライブラリ <clocale> (locale.h) と setlocale 関数は使用してはなりません

A18-0-3 (req.)

AUTOSAR.SETLOCALE  ライブラリ <clocale> (locale.h) と setlocale 関数は使用してはなりません

A18-0-3 (必要): ライブラリ <clocale> (locale.h) および setlocale 関数は使用してはなりません。

AUTOSAR.SETLOCALE  ライブラリ <clocale> (locale.h) と setlocale 関数は使用してはなりません

A18-1-1 (Required): C-style arrays shall not be used.

AUTOSAR.ARRAY.CSTYLE  C スタイルの配列は使用してはなりません

A18-1-1 (req.)

AUTOSAR.ARRAY.CSTYLE  C スタイルの配列は使用してはなりません

A18-1-1 (必要): C スタイルの配列は使用してはなりません。

AUTOSAR.ARRAY.CSTYLE  C スタイルの配列は使用してはなりません

A18-1-2 (Required): The std::vector<bool> specialization shall not be used.

AUTOSAR.VECTOR.BOOL  std::vector<bool> の特殊化は使用してはなりません

A18-1-2 (req.)

AUTOSAR.VECTOR.BOOL  std::vector<bool> の特殊化は使用してはなりません

A18-1-2 (必要): std::vector<bool> 特殊化は使用してはなりません。

AUTOSAR.VECTOR.BOOL  std::vector<bool> の特殊化は使用してはなりません

A18-1-3 (Required): The std::auto_ptr type shall not be used.

AUTOSAR.AUTO_PTR  std::auto_ptr 型は使用してはなりません

A18-1-3 (req.)

AUTOSAR.AUTO_PTR  std::auto_ptr 型は使用してはなりません

A18-1-3 (必要): std::auto_ptr 型は使用してはなりません。

AUTOSAR.AUTO_PTR  std::auto_ptr 型は使用してはなりません

A18-5-1 (Required): Functions malloc

AUTOSAR.STDLIB.MEMORY  関数 malloc、calloc、realloc、および free は使用してはなりません

A18-5-1 (req.)

AUTOSAR.STDLIB.MEMORY  関数 malloc、calloc、realloc、および free は使用してはなりません

A18-5-1 (必要): 関数 malloc、calloc、realloc、および free は使用してはなりません。

AUTOSAR.STDLIB.MEMORY  関数 malloc、calloc、realloc、および free は使用してはなりません

A18-5-2 (Required): Non-placement new or delete expressions shall not be used.

AUTOSAR.OP.NEW_DELETE  non-placement new 式または non-placement delete 式を使用してはなりません

A18-5-2 (req.)

AUTOSAR.OP.NEW_DELETE  non-placement new 式または non-placement delete 式を使用してはなりません

A18-5-2 (必要): non-placement new 式または non-placement delete 式を使用してはなりません。

AUTOSAR.OP.NEW_DELETE  non-placement new 式または non-placement delete 式を使用してはなりません

A18-5-3 (Required): The form of the delete expression shall match the form of the new expression used to allocate the memory.

FMM.MIGHT  メモリの解放の不一致の可能性

FMM.MUST  メモリの解放の不一致

A18-5-3 (req.)

FMM.MIGHT  メモリの解放の不一致の可能性

FMM.MUST  メモリの解放の不一致

A18-5-3 (必要): delete 式の形式はメモリ割り当てに使用される新しい式の形式と一致しなければなりません。

FMM.MIGHT  メモリの解放の不一致の可能性

FMM.MUST  メモリの解放の不一致

A18-5-4 (Required): If a project has sized or unsized version of operator “delete” globally defined

AUTOSAR.OP.DELETE.MISSING_VERSION  プロジェクトにサイズ指定付きまたはサイズ指定なしの演算子 "delete" がグローバルに定義されている場合は、サイズ指定付きとサイズ指定なしの両方を定義する必要があります

A18-5-4 (req.)

AUTOSAR.OP.DELETE.MISSING_VERSION  プロジェクトにサイズ指定付きまたはサイズ指定なしの演算子 "delete" がグローバルに定義されている場合は、サイズ指定付きとサイズ指定なしの両方を定義する必要があります

A18-5-4 (必要): プロジェクトにサイズ指定付きまたはサイズ指定なしの演算子 “delete” がグローバルに定義されている場合は、サイズ指定付きとサイズ指定なしの両方を定義する必要があります。

AUTOSAR.OP.DELETE.MISSING_VERSION  プロジェクトにサイズ指定付きまたはサイズ指定なしの演算子 "delete" がグローバルに定義されている場合は、サイズ指定付きとサイズ指定なしの両方を定義する必要があります

A18-5-11 (Required): “operator new” and “operator delete” shall be defined together.

AUTOSAR.OP.NEW_NO_DELETE  "演算子 new" と "演算子 delete" は一緒に定義する必要があります

A18-5-11 (req.)

AUTOSAR.OP.NEW_NO_DELETE  "演算子 new" と "演算子 delete" は一緒に定義する必要があります

A18-5-11 (必要): "operator new" と "operator delete" は一緒に定義する必要があります。

AUTOSAR.OP.NEW_NO_DELETE  "演算子 new" と "演算子 delete" は一緒に定義する必要があります

A18-9-1 (Required): The std::bind shall not be used.

AUTOSAR.STDLIB.BIND  std::bind は使用してはなりません

A18-9-1 (req.)

AUTOSAR.STDLIB.BIND  std::bind は使用してはなりません

A18-9-1 (必要): std::bind は使用してはなりません。

AUTOSAR.STDLIB.BIND  std::bind は使用してはなりません

A18-9-2 (Required): Forwarding values to other functions shall be done via: (1) std::move if the value is an rvalue reference

AUTOSAR.FORWARD  他の関数への値の転送は、(1) std::move (値が r 値参照の場合) か (2) std::forward (値が前方参照の場合) を使用して行う必要があります

A18-9-2 (req.)

AUTOSAR.FORWARD  他の関数への値の転送は、(1) std::move (値が r 値参照の場合) か (2) std::forward (値が前方参照の場合) を使用して行う必要があります

A18-9-2 (必要): 他の関数への値の転送は、(1) std::move (値が r 値参照の場合) か (2) std::forward (値が前方参照の場合) を使用して行う必要があります。

AUTOSAR.FORWARD  他の関数への値の転送は、(1) std::move (値が r 値参照の場合) か (2) std::forward (値が前方参照の場合) を使用して行う必要があります

A18-9-3 (Required): The std::move shall not be used on objects declared const or const&.

AUTOSAR.STDLIB.MOVE.CONST  const または const& と宣言されたオブジェクトで std::move を使用してはなりません

A18-9-3 (req.)

AUTOSAR.STDLIB.MOVE.CONST  const または const& と宣言されたオブジェクトで std::move を使用してはなりません

A18-9-3 (必要): const または const& と宣言されたオブジェクトで std::move を使用してはなりません。

AUTOSAR.STDLIB.MOVE.CONST  const または const& と宣言されたオブジェクトで std::move を使用してはなりません

A21-8-1 (Required): Arguments to character-handling functions shall be representable as an unsigned char.

AUTOSAR.STDLIB.CCTYPE.UCHAR  <cctype> で定義される文字処理関数の引数は、unsigned char として表現できなければなりません

A21-8-1 (req.)

AUTOSAR.STDLIB.CCTYPE.UCHAR  <cctype> で定義される文字処理関数の引数は、unsigned char として表現できなければなりません

A21-8-1 (必要): 文字処理関数の引数は、unsigned char として表現できなければなりません。

AUTOSAR.STDLIB.CCTYPE.UCHAR  <cctype> で定義される文字処理関数の引数は、unsigned char として表現できなければなりません

A26-5-1 (Required): Pseudorandom numbers shall not be generated using std::rand().

AUTOSAR.STDLIB.RAND  疑似乱数は std::rand() を使用して生成してはなりません

AUTOSAR.STDLIB.RANDOM_SHUFFLE  疑似乱数は std::rand() を使用して生成してはなりません

A26-5-1 (req.)

AUTOSAR.STDLIB.RAND  疑似乱数は std::rand() を使用して生成してはなりません

AUTOSAR.STDLIB.RANDOM_SHUFFLE  疑似乱数は std::rand() を使用して生成してはなりません

A26-5-1 (必要): 疑似乱数は std::rand() を使用して生成してはなりません。

AUTOSAR.STDLIB.RAND  疑似乱数は std::rand() を使用して生成してはなりません

AUTOSAR.STDLIB.RANDOM_SHUFFLE  疑似乱数は std::rand() を使用して生成してはなりません

A26-5-2 (Required): Random number engines shall not be default-initialized.

AUTOSAR.STDLIB.RANDOM.NBR_GEN_DEFAULT_INIT  乱数エンジンをデフォルトで初期化してはなりません

A26-5-2 (req.)

AUTOSAR.STDLIB.RANDOM.NBR_GEN_DEFAULT_INIT  乱数エンジンをデフォルトで初期化してはなりません

A26-5-2 (必要): 乱数エンジンをデフォルトで初期化してはなりません。

AUTOSAR.STDLIB.RANDOM.NBR_GEN_DEFAULT_INIT  乱数エンジンをデフォルトで初期化してはなりません

A27-0-2 (Advisory): A C-style string shall guarantee sufficient space for data and the null terminator.

NNTS.MIGHT  バッファオーバーフロー - 非 NULL 終了文字列

NNTS.MUST  バッファオーバーフロー - 非 NULL 終了文字列

NNTS.TAINTED  未検証のユーザー入力が原因のバッファオーバーフロー - 非 NULL 終了文字列

SV.UNBOUND_STRING_INPUT.CIN  バインドされていない文字列入力についての cin の使用法

SV.UNBOUND_STRING_INPUT.FUNC  バインドされていない文字列入力の使用法

A27-0-2 (adv.)

NNTS.MIGHT  バッファオーバーフロー - 非 NULL 終了文字列

NNTS.MUST  バッファオーバーフロー - 非 NULL 終了文字列

NNTS.TAINTED  未検証のユーザー入力が原因のバッファオーバーフロー - 非 NULL 終了文字列

SV.UNBOUND_STRING_INPUT.CIN  バインドされていない文字列入力についての cin の使用法

SV.UNBOUND_STRING_INPUT.FUNC  バインドされていない文字列入力の使用法

A27-0-2 (推奨): C スタイルの文字列は、データと null 終了文字のための十分なスペースを保証しなければなりません。

NNTS.MIGHT  バッファオーバーフロー - 非 NULL 終了文字列

NNTS.MUST  バッファオーバーフロー - 非 NULL 終了文字列

NNTS.TAINTED  未検証のユーザー入力が原因のバッファオーバーフロー - 非 NULL 終了文字列

SV.UNBOUND_STRING_INPUT.CIN  バインドされていない文字列入力についての cin の使用法

SV.UNBOUND_STRING_INPUT.FUNC  バインドされていない文字列入力の使用法

A27-0-4 (Required): C-style strings shall not be used.

SV.BANNED.RECOMMENDED.ALLOCA  禁止が推奨されているAPI: スタック割り当て関数

SV.BANNED.RECOMMENDED.NUMERIC  禁止が推奨されているAPI: 安全でない数値化関数

SV.BANNED.RECOMMENDED.OEM  禁止が推奨されているAPI: OEM 文字ページ変換関数

SV.BANNED.RECOMMENDED.PATH  禁止が推奨されているAPI: 安全でないパス名操作関数

SV.BANNED.RECOMMENDED.SCANF  禁止が推奨されているAPI: 安全でない scanf 型関数

SV.BANNED.RECOMMENDED.SPRINTF  禁止が推奨されているAPI: 安全でない sprintf 型関数

SV.BANNED.RECOMMENDED.STRLEN  禁止が推奨されているAPI: 安全でない文字列長関数

SV.BANNED.RECOMMENDED.TOKEN  禁止が推奨されているAPI: 安全でないトークン作成関数

SV.BANNED.RECOMMENDED.WINDOW  禁止が推奨されているAPI: 安全でないウィンドウ関数

A27-0-4 (req.)

SV.BANNED.RECOMMENDED.ALLOCA  禁止が推奨されているAPI: スタック割り当て関数

SV.BANNED.RECOMMENDED.NUMERIC  禁止が推奨されているAPI: 安全でない数値化関数

SV.BANNED.RECOMMENDED.OEM  禁止が推奨されているAPI: OEM 文字ページ変換関数

SV.BANNED.RECOMMENDED.PATH  禁止が推奨されているAPI: 安全でないパス名操作関数

SV.BANNED.RECOMMENDED.SCANF  禁止が推奨されているAPI: 安全でない scanf 型関数

SV.BANNED.RECOMMENDED.SPRINTF  禁止が推奨されているAPI: 安全でない sprintf 型関数

SV.BANNED.RECOMMENDED.STRLEN  禁止が推奨されているAPI: 安全でない文字列長関数

SV.BANNED.RECOMMENDED.TOKEN  禁止が推奨されているAPI: 安全でないトークン作成関数

SV.BANNED.RECOMMENDED.WINDOW  禁止が推奨されているAPI: 安全でないウィンドウ関数

A27-0-4 (必要): C スタイルの文字列は使用してはなりません。

SV.BANNED.RECOMMENDED.ALLOCA  禁止が推奨されているAPI: スタック割り当て関数

SV.BANNED.RECOMMENDED.NUMERIC  禁止が推奨されているAPI: 安全でない数値化関数

SV.BANNED.RECOMMENDED.OEM  禁止が推奨されているAPI: OEM 文字ページ変換関数

SV.BANNED.RECOMMENDED.PATH  禁止が推奨されているAPI: 安全でないパス名操作関数

SV.BANNED.RECOMMENDED.SCANF  禁止が推奨されているAPI: 安全でない scanf 型関数

SV.BANNED.RECOMMENDED.SPRINTF  禁止が推奨されているAPI: 安全でない sprintf 型関数

SV.BANNED.RECOMMENDED.STRLEN  禁止が推奨されているAPI: 安全でない文字列長関数

SV.BANNED.RECOMMENDED.TOKEN  禁止が推奨されているAPI: 安全でないトークン作成関数

SV.BANNED.RECOMMENDED.WINDOW  禁止が推奨されているAPI: 安全でないウィンドウ関数

M0-1-1 (Required): A project shall not contain unreachable code.

UNREACH.ENUM  enum が取りうる値が原因で、コードは到達不能になっています

UNREACH.GEN  到達不能コード

UNREACH.RETURN  到達不能な void return文

M0-1-1 (req.)

UNREACH.ENUM  enum が取りうる値が原因で、コードは到達不能になっています

UNREACH.GEN  到達不能コード

UNREACH.RETURN  到達不能な void return文

M0-1-1 (必要): プロジェクトには到達不能なコードを含めてはなりません。

UNREACH.ENUM  enum が取りうる値が原因で、コードは到達不能になっています

UNREACH.GEN  到達不能コード

UNREACH.RETURN  到達不能な void return文

M0-1-2 (Required): A project shall not contain infeasible paths.

CWARN.NOEFFECT.UCMP.GE  符号なし値と 0 との比較は、常に true になります

CWARN.NOEFFECT.UCMP.GE.MACRO  マクロ内で符号なし値と 0 との比較は、常に true になります

CWARN.NOEFFECT.UCMP.LT  符号なし値と 0 との比較は、常に false になります

CWARN.NOEFFECT.UCMP.LT.MACRO  マクロ内で符号なし値と 0 との比較は、常に false になります

M0-1-2 (req.)

CWARN.NOEFFECT.UCMP.GE  符号なし値と 0 との比較は、常に true になります

CWARN.NOEFFECT.UCMP.GE.MACRO  マクロ内で符号なし値と 0 との比較は、常に true になります

CWARN.NOEFFECT.UCMP.LT  符号なし値と 0 との比較は、常に false になります

CWARN.NOEFFECT.UCMP.LT.MACRO  マクロ内で符号なし値と 0 との比較は、常に false になります

M0-1-2 (必要): プロジェクトには実行不可能なパスを含めてはなりません。

CWARN.NOEFFECT.UCMP.GE  符号なし値と 0 との比較は、常に true になります

CWARN.NOEFFECT.UCMP.GE.MACRO  マクロ内で符号なし値と 0 との比較は、常に true になります

CWARN.NOEFFECT.UCMP.LT  符号なし値と 0 との比較は、常に false になります

CWARN.NOEFFECT.UCMP.LT.MACRO  マクロ内で符号なし値と 0 との比較は、常に false になります

M0-1-3 (Required): A project shall not contain unused variables.

LV_UNUSED.GEN  ローカル変数は使用されません

M0-1-3 (req.)

LV_UNUSED.GEN  ローカル変数は使用されません

M0-1-3 (必要): プロジェクトには未使用の変数を含めてはなりません。

LV_UNUSED.GEN  ローカル変数は使用されません

M0-1-9 (Required): There shall be no dead code.

VA_UNUSED.GEN  値を割り当て後に使用しません

VA_UNUSED.INIT  値を初期化後に使用しません

M0-1-9 (req.)

VA_UNUSED.GEN  値を割り当て後に使用しません

VA_UNUSED.INIT  値を初期化後に使用しません

M0-1-9 (必要): 到達不能コードが存在してはなりません。

VA_UNUSED.GEN  値を割り当て後に使用しません

VA_UNUSED.INIT  値を初期化後に使用しません

M0-1-10 (Advisory): Every defined function should be called at least once.

UNUSED.FUNC.GEN  関数を定義していますが、使用していません

M0-1-10 (adv.)

UNUSED.FUNC.GEN  関数を定義していますが、使用していません

M0-1-10 (推奨): すべての定義された関数は、少なくとも 1 回は呼び出されなければなりません。

UNUSED.FUNC.GEN  関数を定義していますが、使用していません

M0-2-1 (Required): An object shall not be assigned to an overlapping object.

MISRA.ASSIGN.OVERLAP  オブジェクトがオーバーラップするオブジェクトに割り当てられています

M0-2-1 (req.)

MISRA.ASSIGN.OVERLAP  オブジェクトがオーバーラップするオブジェクトに割り当てられています

M0-2-1 (必要): オブジェクトは、重複するオブジェクトに割り当てられてはなりません。

MISRA.ASSIGN.OVERLAP  オブジェクトがオーバーラップするオブジェクトに割り当てられています

M2-7-1 (Required): The character sequence /* shall not be used within a C-style comment.

MISRA.TOKEN.BADCOM  コメントに不適切な文字列があります

M2-7-1 (req.)

MISRA.TOKEN.BADCOM  コメントに不適切な文字列があります

M2-7-1 (必要): 文字シーケンス /* は、C スタイルのコメント内で使用してはなりません。

MISRA.TOKEN.BADCOM  コメントに不適切な文字列があります

M2-13-2 (Required): Octal constants (other than zero) and octal escape sequences (other than “\0” ) shall not be used.

MISRA.TOKEN.OCTAL.ESCAPE  8 進数のエスケープ文字列の使用

MISRA.TOKEN.OCTAL.INT  8 進数の整数定数を使用しています

M2-13-2 (req.)

MISRA.TOKEN.OCTAL.ESCAPE  8 進数のエスケープ文字列の使用

MISRA.TOKEN.OCTAL.INT  8 進数の整数定数を使用しています

M2-13-2 (必要): 8 進定数 (ゼロ以外) および 8 進エスケープシーケンス (“\0” 以外) は使用してはなりません。

MISRA.TOKEN.OCTAL.ESCAPE  8 進数のエスケープ文字列の使用

MISRA.TOKEN.OCTAL.INT  8 進数の整数定数を使用しています

M2-13-3 (Required): A “U” suffix shall be applied to all octal or hexadecimal integer literals of unsigned type.

MISRA.LITERAL.UNSIGNED.SUFFIX  'U' 添え字の付かない符号なし整数リテラルです

M2-13-3 (req.)

MISRA.LITERAL.UNSIGNED.SUFFIX  'U' 添え字の付かない符号なし整数リテラルです

M2-13-3 (必要): 符号なし型のすべての 8 進数または 16 進数の整数リテラルには “U” 接頭辞を適用しなければなりません。

MISRA.LITERAL.UNSIGNED.SUFFIX  'U' 添え字の付かない符号なし整数リテラルです

M2-13-4 (Required): Literal suffixes shall be upper case.

MISRA.LITERAL.SUFFIX.CASE  リテラルの添え字は小文字です

M2-13-4 (req.)

MISRA.LITERAL.SUFFIX.CASE  リテラルの添え字は小文字です

M2-13-4 (必要): リテラル接尾辞は大文字にしなければなりません。

MISRA.LITERAL.SUFFIX.CASE  リテラルの添え字は小文字です

M3-1-2 (Required): Functions shall not be declared at block scope.

MISRA.DECL.FUNC_LOCAL  関数がローカルで宣言されています

M3-1-2 (req.)

MISRA.DECL.FUNC_LOCAL  関数がローカルで宣言されています

M3-2-1 (Required): All declarations of an object or function shall have compatible types.

MISRA.OBJ.TYPE.COMPAT  型がその他の宣言の型と互換性がありません

M3-2-1 (req.)

MISRA.OBJ.TYPE.COMPAT  型がその他の宣言の型と互換性がありません

M3-2-1 (必要): オブジェクトまたは関数のすべての宣言は互換性のある型を持たなければなりません。

MISRA.OBJ.TYPE.COMPAT  型がその他の宣言の型と互換性がありません

M3-2-1 (必要): 関数はブロックスコープで宣言してはなりません。

MISRA.DECL.FUNC_LOCAL  関数がローカルで宣言されています

M3-3-2 (Required): If a function has internal linkage then all re-declarations shall include the static storage class specifier.

MISRA.FUNC.STATIC.REDECL  関数またはオブジェクトの再宣言に 'static' 修飾子がありません

M3-3-2 (req.)

MISRA.FUNC.STATIC.REDECL  関数またはオブジェクトの再宣言に 'static' 修飾子がありません

M3-3-2 (必要): 関数に内部リンケージがある場合、すべての再宣言に静的ストレージクラス指定子を含めなければなりません。

MISRA.FUNC.STATIC.REDECL  関数またはオブジェクトの再宣言に 'static' 修飾子がありません

M3-4-1 (Required): An identifier declared to be an object or type shall be defined in a block that minimizes its visibility.

MISRA.VAR.MIN.VIS  名前の可視性が高すぎます

M3-4-1 (req.)

MISRA.VAR.MIN.VIS  名前の可視性が高すぎます

M3-4-1 (必要): オブジェクトまたは型として宣言された識別子は、その可視性を最小限に抑えるブロック内で定義しなければなりません。

MISRA.VAR.MIN.VIS  名前の可視性が高すぎます

M3-9-1 (Required): The types used for an object

MISRA.OBJ.TYPE.IDENT  型がその他の宣言の型と一致していません

M3-9-1 (req.)

MISRA.OBJ.TYPE.IDENT  型がその他の宣言の型と一致していません

M3-9-1 (必要): オブジェクト、関数の戻り値の型、または関数のパラメータに使用される型は、すべての宣言および再宣言でトークンごとに同一でなければなりません。

MISRA.OBJ.TYPE.IDENT  型がその他の宣言の型と一致していません

M3-9-3 (Required): The underlying bit representations of floating-point values shall not be used.

MISRA.FLOAT.BIT.REPR  浮動小数点値のビット操作結果はストレージのレイアウトによって変わります

M3-9-3 (req.)

MISRA.FLOAT.BIT.REPR  浮動小数点値のビット操作結果はストレージのレイアウトによって変わります

M3-9-3 (必要): 浮動小数点値の基礎となるビット表現は使用してはなりません。

MISRA.FLOAT.BIT.REPR  浮動小数点値のビット操作結果はストレージのレイアウトによって変わります

M4-5-1 (Required): Expressions with type bool shall not be used as operands to built-in operators.

MISRA.LOGIC.OPERATOR.NOT_BOOL  論理演算ではない演算子のオペランドが実質的にはブール値です

M4-5-1 (req.)

MISRA.LOGIC.OPERATOR.NOT_BOOL  論理演算ではない演算子のオペランドが実質的にはブール値です

M4-5-1 (必要): bool 型の式は組み込み演算子のオペランドとして使用してはなりません。

MISRA.LOGIC.OPERATOR.NOT_BOOL  論理演算ではない演算子のオペランドが実質的にはブール値です

M4-5-3 (Required): Expressions with type (plain) char and wchar_t shall not be used as operands to built-in operators other than the assignment operator =

MISRA.CHAR.OPERAND  型 'char' または 'wchar_t' の式が文字以外のオペランドで使用されています

M4-5-3 (req.)

MISRA.CHAR.OPERAND  型 'char' または 'wchar_t' の式が文字以外のオペランドで使用されています

M4-5-3 (必要): (プレーン) char および wchar_t 型の式は、代入演算子 =、等価演算子 == と !=、および単項の & 演算子以外の組み込み演算子のオペランドとして使用してはなりません。

MISRA.CHAR.OPERAND  型 'char' または 'wchar_t' の式が文字以外のオペランドで使用されています

M4-10-1 (Required): NULL shall not be used as an integer value.

MISRA.LITERAL.NULL.INT  NULL が整数値として使用されています

M4-10-1 (req.)

MISRA.LITERAL.NULL.INT  NULL が整数値として使用されています

M4-10-1 (必要): null は整数値として使用してはなりません。

MISRA.LITERAL.NULL.INT  NULL が整数値として使用されています

M4-10-2 (Required): Literal zero (0) shall not be used as the null-pointer-constant.

MISRA.LITERAL.NULL.PTR  リテラルのゼロが NULLポインタ定数として使用されています

M4-10-2 (req.)

MISRA.LITERAL.NULL.PTR  リテラルのゼロが NULLポインタ定数として使用されています

M4-10-2 (必要): リテラルゼロ (0) は、null ポインター定数として使用してはなりません。

MISRA.LITERAL.NULL.PTR  リテラルのゼロが NULLポインタ定数として使用されています

M5-0-2 (Advisory): Limited dependence should be placed on C++ operator precedence rules in expressions.

MISRA.EXPR.PARENS.INSUFFICIENT  式の演算子優先規則に制限された依存性が必要です

MISRA.EXPR.PARENS.REDUNDANT  式の演算子優先規則に制限された依存性が必要です

M5-0-2 (adv.)

MISRA.EXPR.PARENS.INSUFFICIENT  式の演算子優先規則に制限された依存性が必要です

MISRA.EXPR.PARENS.REDUNDANT  式の演算子優先規則に制限された依存性が必要です

M5-0-2 (推奨): C++ 演算子の優先順位規則に限定的な依存関係を式で設定しなければなりません。

MISRA.EXPR.PARENS.INSUFFICIENT  式の演算子優先規則に制限された依存性が必要です

MISRA.EXPR.PARENS.REDUNDANT  式の演算子優先規則に制限された依存性が必要です

M5-0-3 (Required): A cvalue expression shall not be implicitly converted to a different underlying type.

MISRA.CVALUE.IMPL.CAST.CPP  暗黙の型変換で符号、型サイズ、型の違いにより情報の損失を起こす記述があります。

M5-0-3 (req.)

MISRA.CVALUE.IMPL.CAST.CPP  暗黙の型変換で符号、型サイズ、型の違いにより情報の損失を起こす記述があります。

M5-0-3 (必要): cvalue 式は、異なる基底型に暗黙的に変換してはなりません。

MISRA.CVALUE.IMPL.CAST.CPP  暗黙の型変換で符号、型サイズ、型の違いにより情報の損失を起こす記述があります。

M5-0-4 (Required): An implicit integral conversion shall not change the signedness of the underlying type.

MISRA.CONV.INT.SIGN  暗黙的な整数変換により符号が変わります

M5-0-4 (req.)

MISRA.CONV.INT.SIGN  暗黙的な整数変換により符号が変わります

M5-0-4 (必要): 暗黙的な整数変換では、基底型の符号を変更してはなりません。

MISRA.CONV.INT.SIGN  暗黙的な整数変換により符号が変わります

M5-0-5 (Required): There shall be no implicit floating-integral conversions.

MISRA.CONV.FLOAT  暗黙的な浮動小数点変換です

M5-0-5 (req.)

MISRA.CONV.FLOAT  暗黙的な浮動小数点変換です

M5-0-5 (必要): 暗黙的な浮動小数点数から整数への変換が行われてはなりません。

MISRA.CONV.FLOAT  暗黙的な浮動小数点変換です

M5-0-6 (Required): An implicit integral or floating-point conversion shall not reduce the size of the underlying type.

MISRA.CONV.NUM.NARROWER  狭いタイプへの暗黙的な数値変換です

M5-0-6 (req.)

MISRA.CONV.NUM.NARROWER  狭いタイプへの暗黙的な数値変換です

M5-0-6 (必要): 暗黙的な整数または浮動小数点の変換によって、基底型のサイズが縮小されてはなりません。

MISRA.CONV.NUM.NARROWER  狭いタイプへの暗黙的な数値変換です

M5-0-7 (Required): There shall be no explicit floating-integral conversions of a cvalue expression.

MISRA.CAST.FLOAT_INT  整数型への浮動小数点式のキャスト

MISRA.CAST.INT_FLOAT  浮動小数点タイプへの複合式のキャスト

M5-0-7 (req.)

MISRA.CAST.FLOAT_INT  整数型への浮動小数点式のキャスト

MISRA.CAST.INT_FLOAT  浮動小数点タイプへの複合式のキャスト

M5-0-7 (必要): cvalue 式の明示的な浮動小数点数から整数への変換が行われてはなりません。

MISRA.CAST.FLOAT_INT  整数型への浮動小数点式のキャスト

MISRA.CAST.INT_FLOAT  浮動小数点タイプへの複合式のキャスト

M5-0-8 (Required): An explicit integral or floating-point conversion shall not increase the size of the underlying type of a cvalue expression.

MISRA.CAST.FLOAT.WIDER  より広い浮動小数点タイプへの浮動小数点式のキャスト

MISRA.CAST.INT.WIDER  より広い整数型への複合式のキャスト

M5-0-8 (req.)

MISRA.CAST.FLOAT.WIDER  より広い浮動小数点タイプへの浮動小数点式のキャスト

MISRA.CAST.INT.WIDER  より広い整数型への複合式のキャスト

M5-0-8 (必要): 明示的な整数または浮動小数点の変換が、cvalue 式の基底型のサイズを大きくしてはなりません。

MISRA.CAST.FLOAT.WIDER  より広い浮動小数点タイプへの浮動小数点式のキャスト

MISRA.CAST.INT.WIDER  より広い整数型への複合式のキャスト

M5-0-9 (Required): An explicit integral conversion shall not change the signedness of the underlying type of a cvalue expression.

MISRA.CAST.INT.SIGN  自明ではない複合式が別の符号を持つ型にキャストされています

M5-0-9 (req.)

MISRA.CAST.INT.SIGN  自明ではない複合式が別の符号を持つ型にキャストされています

M5-0-9 (必要): 明示的な整数変換では、cvalue 式の基底型の符号を変更してはなりません。

MISRA.CAST.INT.SIGN  自明ではない複合式が別の符号を持つ型にキャストされています

M5-0-10 (Required): If the bitwise operators ~and << are applied to an operand with an underlying type of unsigned char or unsigned short

MISRA.CAST.UNSIGNED_BITS  unsigned char または short でのビット演算の結果は元の型にキャストできません

M5-0-10 (req.)

MISRA.CAST.UNSIGNED_BITS  unsigned char または short でのビット演算の結果は元の型にキャストできません

M5-0-10 (必要): ビット演算子 ~ および << が、unsigned char または unsigned short を基底型とするオペランドに適用された場合、結果が直ちにオペランドの基底型にキャストされなければなりません。

MISRA.CAST.UNSIGNED_BITS  unsigned char または short でのビット演算の結果は元の型にキャストできません

M5-0-11 (Required): The plain char type shall only be used for the storage and use of character values.

MISRA.CHAR.NOT_CHARACTER  文字でない値に 'char' が使用されています

M5-0-11 (req.)

MISRA.CHAR.NOT_CHARACTER  文字でない値に 'char' が使用されています

M5-0-11 (必要): プレーン char 型は、文字値の保存と使用にのみ使用されなければなりません。

MISRA.CHAR.NOT_CHARACTER  文字でない値に 'char' が使用されています

M5-0-12 (Required): Signed char and unsigned char type shall only be used for the storage and use of numeric values.

MISRA.SIGNED_CHAR.NOT_NUMERIC  数値でない値に 'signed char' または 'unsigned char' が使用されています

M5-0-12 (req.)

MISRA.SIGNED_CHAR.NOT_NUMERIC  数値でない値に 'signed char' または 'unsigned char' が使用されています

M5-0-12 (必要): 符号付き char 型と符号なし char 型は、数値の保存と使用にのみ使用されなければなりません。

MISRA.SIGNED_CHAR.NOT_NUMERIC  数値でない値に 'signed char' または 'unsigned char' が使用されています

M5-0-14 (Required): The first operand of a conditional-operator shall have type bool.

MISRA.EXPR.COND.NOT_BOOLEAN  条件式の最初のオペランドがブール式ではありません

M5-0-14 (req.)

MISRA.EXPR.COND.NOT_BOOLEAN  条件式の最初のオペランドがブール式ではありません

M5-0-14 (必要): 条件演算子の最初のオペランドは bool 型でなければなりません。

MISRA.EXPR.COND.NOT_BOOLEAN  条件式の最初のオペランドがブール式ではありません

M5-0-15 (Required): Array indexing shall be the only form of pointer arithmetic.

MISRA.PTR.ARITH  代数式または配列インデックス式でポインタが使用されています

M5-0-15 (req.)

MISRA.PTR.ARITH  代数式または配列インデックス式でポインタが使用されています

M5-0-15 (必要): 配列インデックスは、ポインター演算の唯一の形式とします。

MISRA.PTR.ARITH  代数式または配列インデックス式でポインタが使用されています

M5-0-16 (Required): A pointer operand and any pointer resulting from pointer arithmetic using that operand shall both address elements of the same array.

MISRA.PTR.ARITH.NOT_SAME.2008  ポインターオペランドの計算から得られるポインターは、そのポインターオペランドと同じ配列の要素をアドレス指定します

M5-0-16 (req.)

MISRA.PTR.ARITH.NOT_SAME.2008  ポインターオペランドの計算から得られるポインターは、そのポインターオペランドと同じ配列の要素をアドレス指定します

M5-0-16 (必要): ポインターオペランドと、そのオペランドを使用したポインター演算の結果のポインターは、両方とも同じ配列の要素をアドレス指定しなければなりません。

MISRA.PTR.ARITH.NOT_SAME.2008  ポインターオペランドの計算から得られるポインターは、そのポインターオペランドと同じ配列の要素をアドレス指定します

M5-0-20 (Required): Non-constant operands to a binary bitwise operator shall have the same underlying type.

MISRA.BITS.OPERAND  ビット演算のオペランドが別の基底型を持っています

M5-0-20 (req.)

MISRA.BITS.OPERAND  ビット演算のオペランドが別の基底型を持っています

M5-0-20 (必要): 二項ビット演算子の非定数オペランドは、同じ基底型でなければなりません。

MISRA.BITS.OPERAND  ビット演算のオペランドが別の基底型を持っています

M5-0-21 (Required): Bitwise operators shall only be applied to operands of unsigned underlying type.

MISRA.BITS.NOT_UNSIGNED  ビット演算のオペランドが符号なし整数ではありません

MISRA.BITS.NOT_UNSIGNED.PREP  ビット演算のオペランドが符号なし整数ではありません

M5-0-21 (req.)

MISRA.BITS.NOT_UNSIGNED  ビット演算のオペランドが符号なし整数ではありません

MISRA.BITS.NOT_UNSIGNED.PREP  ビット演算のオペランドが符号なし整数ではありません

M5-0-21 (必要): ビット演算子は、符号なしの基底型オペランドにのみ適用されなければなりません。

MISRA.BITS.NOT_UNSIGNED  ビット演算のオペランドが符号なし整数ではありません

MISRA.BITS.NOT_UNSIGNED.PREP  ビット演算のオペランドが符号なし整数ではありません

M5-2-2 (Required): A pointer to a virtual base class shall only be cast to a pointer to a derived class by means of dynamic_cast.

MISRA.CAST.PTR.VRCLASS  仮想基本クラスを指すポインタから派生クラスを指すポインタへのキャストにおいて、'dynamic_cast' を用いていません

M5-2-2 (req.)

MISRA.CAST.PTR.VRCLASS  仮想基本クラスを指すポインタから派生クラスを指すポインタへのキャストにおいて、'dynamic_cast' を用いていません

M5-2-2 (必要): 仮想基底クラスへのポインターは、dynamic_cast によって派生クラスへのポインターにのみキャストしなければなりません。

MISRA.CAST.PTR.VRCLASS  仮想基本クラスを指すポインタから派生クラスを指すポインタへのキャストにおいて、'dynamic_cast' を用いていません

M5-2-3 (Advisory): Casts from a base class to a derived class should not be performed on polymorphic types.

MISRA.CAST.POLY.TYPE  多様性基本クラスから派生クラスへのキャストです

M5-2-3 (adv.)

MISRA.CAST.POLY.TYPE  多様性基本クラスから派生クラスへのキャストです

M5-2-3 (推奨): 基底クラスから派生クラスへのキャストは、多態型で実行されてはなりません。

MISRA.CAST.POLY.TYPE  多様性基本クラスから派生クラスへのキャストです

M5-2-6 (Required): A cast shall not convert a pointer to a function to any other pointer type

MISRA.CAST.FUNC_PTR.CPP  キャストにより関数ポインタがその他のポインタ型に変換されます

M5-2-6 (req.)

MISRA.CAST.FUNC_PTR.CPP  キャストにより関数ポインタがその他のポインタ型に変換されます

M5-2-6 (必要): キャストは、関数へのポインターを、関数型へのポインターを含む他のポインター型に変換してはなりません。

MISRA.CAST.FUNC_PTR.CPP  キャストにより関数ポインタがその他のポインタ型に変換されます

M5-2-8 (Required): An object with integer type or pointer to void type shall not be converted to an object with pointer type.

MISRA.CAST.INT_TO_PTR  整数型または void を指すポインタを持つオブジェクトがポインタ型にキャストされています

M5-2-8 (req.)

MISRA.CAST.INT_TO_PTR  整数型または void を指すポインタを持つオブジェクトがポインタ型にキャストされています

M5-2-8 (必要): 整数型または void 型へのポインターを持つオブジェクトは、ポインター型のオブジェクトに変換してはなりません。

MISRA.CAST.INT_TO_PTR  整数型または void を指すポインタを持つオブジェクトがポインタ型にキャストされています

M5-2-9 (Required): A cast shall not convert a pointer type to an integral type.

MISRA.CAST.PTR_TO_INT  ポインタと整数型間のキャスト

M5-2-9 (req.)

MISRA.CAST.PTR_TO_INT  ポインタと整数型間のキャスト

M5-2-9 (必要): キャストでポインター型が整数型に変換されてはなりません。

MISRA.CAST.PTR_TO_INT  ポインタと整数型間のキャスト

M5-2-10 (Required): The increment (++) and decrement (−−) operators shall not be mixed with other operators in an expression.

MISRA.INCR_DECR.OTHER  増分または減分の演算子がその他の演算子と混合して式で使用されています

M5-2-10 (req.)

MISRA.INCR_DECR.OTHER  増分または減分の演算子がその他の演算子と混合して式で使用されています

M5-2-10 (必要): 増分 (++) 演算子と減分 (−−) 演算子は、式の中で他の演算子と混在させてはなりません。

MISRA.INCR_DECR.OTHER  増分または減分の演算子がその他の演算子と混合して式で使用されています

M5-2-11 (Required): The comma operator

MISRA.BIN_OP.OVERLOAD  カンマ、|| または && 演算子が多重定義されています

M5-2-11 (req.)

MISRA.BIN_OP.OVERLOAD  カンマ、|| または && 演算子が多重定義されています

M5-2-11 (必要): カンマ演算子、&& 演算子、|| 演算子はオーバーロードしてはなりません。

MISRA.BIN_OP.OVERLOAD  カンマ、|| または && 演算子が多重定義されています

M5-2-12 (Required): An identifier with array type passed as a function argument shall not decay to a pointer.

MISRA.FUNC.ARRAY.PARAMS  配列タイプの関数引数がポインタに減退しています

M5-2-12 (req.)

MISRA.FUNC.ARRAY.PARAMS  配列タイプの関数引数がポインタに減退しています

M5-2-12 (必要): 関数の引数として渡される配列型の識別子は、ポインターに減衰されてはなりません。

MISRA.FUNC.ARRAY.PARAMS  配列タイプの関数引数がポインタに減退しています

M5-3-1 (Required): Each operand of the ! operator

MISRA.LOGIC.NOT_BOOL  論理演算のオペランドがブール値ではありません

M5-3-1 (req.)

MISRA.LOGIC.NOT_BOOL  論理演算のオペランドがブール値ではありません

M5-3-1 (必要): ! 演算子、論理 && 演算子、または論理 || 演算子の各オペランドは、bool 型でなければなりません。

MISRA.LOGIC.NOT_BOOL  論理演算のオペランドがブール値ではありません

M5-3-2 (Required): The unary minus operator shall not be applied to an expression whose underlying type is unsigned.

MISRA.UMINUS.UNSIGNED  単項マイナス演算子が符号なしオペランドに対して使用されています。

M5-3-2 (req.)

MISRA.UMINUS.UNSIGNED  単項マイナス演算子が符号なしオペランドに対して使用されています。

M5-3-2 (必要): 単項マイナス演算子は、基底型が符号なしの式に適用してはなりません。

MISRA.UMINUS.UNSIGNED  単項マイナス演算子が符号なしオペランドに対して使用されています。

M5-3-3 (Required): The unary & operator shall not be overloaded.

MISRA.UN_OP.OVERLOAD  単項の & 演算子が多重定義されています

M5-3-3 (req.)

MISRA.UN_OP.OVERLOAD  単項の & 演算子が多重定義されています

M5-3-3 (必要): 単項 & 演算子はオーバーロードされてはなりません。

MISRA.UN_OP.OVERLOAD  単項の & 演算子が多重定義されています

M5-3-4 (Required): Evaluation of the operand to the sizeof operator shall not contain side effects.

MISRA.SIZEOF.SIDE_EFFECT  sizeof のオペランドに副作用があります

M5-3-4 (req.)

MISRA.SIZEOF.SIDE_EFFECT  sizeof のオペランドに副作用があります

M5-3-4 (必要): sizeof 演算子のオペランドの評価には副作用が含まれてはなりません。

MISRA.SIZEOF.SIDE_EFFECT  sizeof のオペランドに副作用があります

M5-8-1 (Required): The right hand operand of a shift operator shall lie between zero and one less than the width in bits of the underlying type of the left hand operand.

MISRA.SHIFT.RANGE  シフト演算子の右側のオペランドは範囲外 (左側のオペランドの最大ビット長以上か、または負) です

M5-8-1 (req.)

MISRA.SHIFT.RANGE  シフト演算子の右側のオペランドは範囲外 (左側のオペランドの最大ビット長以上か、または負) です

M5-8-1 (必要): シフト演算子の右側のオペランドは、左側のオペランドの基底型のビット幅より 0 ~ 1 少ない値までの範囲になければなりません。

MISRA.SHIFT.RANGE  シフト演算子の右側のオペランドは範囲外 (左側のオペランドの最大ビット長以上か、または負) です

M5-14-1 (Required): The right hand operand of a logical &&

MISRA.LOGIC.SIDEEFF  論理 'and' 式または論理 'or' 式の右側のオペランドは副作用があります

M5-14-1 (req.)

MISRA.LOGIC.SIDEEFF  論理 'and' 式または論理 'or' 式の右側のオペランドは副作用があります

M5-14-1 (必要): 論理 && 演算子または論理 || 演算子の右側のオペランドには副作用が含まれていてはなりません。

MISRA.LOGIC.SIDEEFF  論理 'and' 式または論理 'or' 式の右側のオペランドは副作用があります

M5-18-1 (Required): The comma operator shall not be used.

MISRA.COMMA  カンマ演算子が使用されています

M5-18-1 (req.)

MISRA.COMMA  カンマ演算子が使用されています

M5-18-1 (必要): カンマ演算子は使用してはなりません。

MISRA.COMMA  カンマ演算子が使用されています

M5-19-1 (Required): Evaluation of constant unsigned integer expressions shall not lead to wrap-around.

MISRA.COMP.WRAPAROUND  条件内でラップアラウンドしています

MISRA.ELIF.WRAPAROUND  #elif ディレクティブでラップアラウンドします

M5-19-1 (req.)

MISRA.COMP.WRAPAROUND  条件内でラップアラウンドしています

MISRA.ELIF.WRAPAROUND  #elif ディレクティブでラップアラウンドします

M5-19-1 (必要): 符号なし定数整数式の評価では、ラップアラウンドが発生してはなりません。

MISRA.COMP.WRAPAROUND  条件内でラップアラウンドしています

MISRA.ELIF.WRAPAROUND  #elif ディレクティブでラップアラウンドします

M6-2-1 (Required): Assignment operators shall not be used in sub-expressions.

MISRA.ASSIGN.COND  条件内で代入演算子が使用されています

MISRA.ASSIGN.SUBEXPR  代入演算子は条件外の部分式に使用されています

M6-2-1 (req.)

MISRA.ASSIGN.COND  条件内で代入演算子が使用されています

MISRA.ASSIGN.SUBEXPR  代入演算子は条件外の部分式に使用されています

M6-2-1 (必要): 代入演算子は部分式では使用してはなりません。

MISRA.ASSIGN.COND  条件内で代入演算子が使用されています

MISRA.ASSIGN.SUBEXPR  代入演算子は条件外の部分式に使用されています

M6-2-2 (Required): Floating-point expressions shall not be directly or indirectly tested for equality or inequality.

MISRA.FLOAT_EQUAL  浮動小数点式のイコールがテストされています

M6-2-2 (req.)

MISRA.FLOAT_EQUAL  浮動小数点式のイコールがテストされています

M6-2-2 (必要): 浮動小数点式は、等価性または不等価性を直接的または間接的にテストしてはなりません。

MISRA.FLOAT_EQUAL  浮動小数点式のイコールがテストされています

M6-2-3 (Required): Before preprocessing

MISRA.NULL.STMT  行上に NULL ステートメント以外のものがあるか、またはコメントが不適切な場所に記述されています

M6-2-3 (req.)

MISRA.NULL.STMT  行上に NULL ステートメント以外のものがあるか、またはコメントが不適切な場所に記述されています

M6-2-3 (必要): プリプロセッシングの前に、null ステートメントは 1 行にのみ出現しなければなりません。null ステートメントに続く最初の文字が空白文字である場合に限り、その後にコメントを続けることができます。

MISRA.NULL.STMT  行上に NULL ステートメント以外のものがあるか、またはコメントが不適切な場所に記述されています

M6-3-1 (Required): The statement forming the body of a switch

MISRA.STMT.NO_COMPOUND  switch、while、do/while または for ステートメントのボディが複合ステートメントではありません

M6-3-1 (req.)

MISRA.STMT.NO_COMPOUND  switch、while、do/while または for ステートメントのボディが複合ステートメントではありません

M6-3-1 (必要): switch、while、do ... while、または for ステートメントの本体を形成するステートメントは、複合ステートメントでなければなりません。

MISRA.STMT.NO_COMPOUND  switch、while、do/while または for ステートメントのボディが複合ステートメントではありません

M6-4-1 (Required): An if ( condition ) construct shall be followed by a compound statement. The else keyword shall be followed by either a compound statement

MISRA.IF.NO_COMPOUND  if/else ステートメントのボディが複合ステートメントではありません

M6-4-1 (req.)

MISRA.IF.NO_COMPOUND  if/else ステートメントのボディが複合ステートメントではありません

M6-4-1 (必要): if (条件) 構造の後には複合ステートメントが続く必要があります。else キーワードの後には、複合ステートメントまたは別の if ステートメントが続く必要があります。

MISRA.IF.NO_COMPOUND  if/else ステートメントのボディが複合ステートメントではありません

M6-4-2 (Required): All if ... else if constructs shall be terminated with an else clause.

MISRA.IF.NO_ELSE  if/else-if ステートメントのチェインが else で終了していないか、または空の else 句で終了しています

M6-4-2 (req.)

MISRA.IF.NO_ELSE  if/else-if ステートメントのチェインが else で終了していないか、または空の else 句で終了しています

M6-4-2 (必要): すべての if ... else if 構文は else 節で終了しなければなりません。

MISRA.IF.NO_ELSE  if/else-if ステートメントのチェインが else で終了していないか、または空の else 句で終了しています

M6-4-3 (Required): A switch statement shall be a well-formed switch statement.

MISRA.SWITCH.NOT_WELL_FORMED  switch ステートメントの形式が不適切です

M6-4-3 (req.)

MISRA.SWITCH.NOT_WELL_FORMED  switch ステートメントの形式が不適切です

M6-4-3 (必要): switch ステートメントは、適切な形式の switch ステートメントでなければなりません。

MISRA.SWITCH.NOT_WELL_FORMED  switch ステートメントの形式が不適切です

M6-4-4 (Required): A switch-label shall only be used when the most closely-enclosing compound statement is the body of a switch statement.

MISRA.SWITCH.LABEL  switch のラベルが switch ボディ内の入れ子複合ステートメント内に置かれています

M6-4-4 (req.)

MISRA.SWITCH.LABEL  switch のラベルが switch ボディ内の入れ子複合ステートメント内に置かれています

M6-4-4 (必要): switch ラベルは、最も近くで囲む複合ステートメントが switch ステートメントの本体である場合にのみ使用しなければなりません。

MISRA.SWITCH.LABEL  switch のラベルが switch ボディ内の入れ子複合ステートメント内に置かれています

M6-4-5 (Required): An unconditional throw or break statement shall terminate every non-empty switch-clause.

MISRA.SWITCH.NO_BREAK  switch 句の最後に break ステートメントまたは throw ステートメントがありません

M6-4-5 (req.)

MISRA.SWITCH.NO_BREAK  switch 句の最後に break ステートメントまたは throw ステートメントがありません

M6-4-5 (必要): 無条件の throw または break ステートメントは、すべての空でない switch 節を終了しなければなりません。

MISRA.SWITCH.NO_BREAK  switch 句の最後に break ステートメントまたは throw ステートメントがありません

M6-4-6 (Required): The final clause of a switch statement shall be the default-clause.

MISRA.SWITCH.NODEFAULT  switch ステートメントの最後に default 句がありません

M6-4-6 (req.)

MISRA.SWITCH.NODEFAULT  switch ステートメントの最後に default 句がありません

M6-4-6 (必要): switch ステートメントの最後の節は default 節でなければなりません。

MISRA.SWITCH.NODEFAULT  switch ステートメントの最後に default 句がありません

M6-4-7 (Required): The condition of a switch statement shall not have bool type.

MISRA.SWITCH.BOOL  switch ステートメントの条件がブール式です

M6-4-7 (req.)

MISRA.SWITCH.BOOL  switch ステートメントの条件がブール式です

M6-4-7 (必要): switch ステートメントの条件は bool 型であってはなりません。

MISRA.SWITCH.BOOL  switch ステートメントの条件がブール式です

M6-5-2 (Required): If loop-counter is not modified by −− or ++

MISRA.FOR.COND.EQ  ループカウンターに対して++ 演算子または -- 演算子を使用していませんが、ループカウンターがイコールかどうかで判定しています

M6-5-2 (req.)

MISRA.FOR.COND.EQ  ループカウンターに対して++ 演算子または -- 演算子を使用していませんが、ループカウンターがイコールかどうかで判定しています

M6-5-2 (必要): ループカウンターが −− または ++ によって変更されていない場合、条件内で、ループカウンターは <=、<、>、または >= のオペランドとしてのみ使用されなければなりません。

MISRA.FOR.COND.EQ  ループカウンターに対して++ 演算子または -- 演算子を使用していませんが、ループカウンターがイコールかどうかで判定しています

M6-5-3 (Required): The loop-counter shall not be modified within condition or statement.

MISRA.FOR.COND.CHANGE  for ループのカウンターがループ条件セクション内で変更されています

MISRA.FOR.STMT.CHANGE  for ループのカウンターがループステートメント内で変更されています

M6-5-3 (req.)

MISRA.FOR.COND.CHANGE  for ループのカウンターがループ条件セクション内で変更されています

MISRA.FOR.STMT.CHANGE  for ループのカウンターがループステートメント内で変更されています

M6-5-3 (必要): ループカウンターは、条件またはステートメント内で変更されてはなりません。

MISRA.FOR.COND.CHANGE  for ループのカウンターがループ条件セクション内で変更されています

MISRA.FOR.STMT.CHANGE  for ループのカウンターがループステートメント内で変更されています

M6-5-4 (Required): The loop-counter shall be modified by one of: −−

MISRA.FOR.INCR  for ループのカウンターが不適切な方法で変更されています

M6-5-4 (req.)

MISRA.FOR.INCR  for ループのカウンターが不適切な方法で変更されています

M6-5-4 (必要): ループカウンターは、−−、++、− = n、または + = n (n はループの期間中一定のまま) のいずれかによって変更されなければなりません。

MISRA.FOR.INCR  for ループのカウンターが不適切な方法で変更されています

M6-5-5 (Required): A loop-control-variable other than the loop-counter shall not be modified within condition or expression.

MISRA.FOR.LOOP_CONTROL.CHANGE.COND  for ループの条件セクションでループ制御変数が変更されています

MISRA.FOR.LOOP_CONTROL.CHANGE.EXPR  for ループの式セクションでループ制御変数が変更されています

M6-5-5 (req.)

MISRA.FOR.LOOP_CONTROL.CHANGE.COND  for ループの条件セクションでループ制御変数が変更されています

MISRA.FOR.LOOP_CONTROL.CHANGE.EXPR  for ループの式セクションでループ制御変数が変更されています

M6-5-5 (必要): ループカウンター以外のループ制御変数は、条件または式内で変更されてはなりません。

MISRA.FOR.LOOP_CONTROL.CHANGE.COND  for ループの条件セクションでループ制御変数が変更されています

MISRA.FOR.LOOP_CONTROL.CHANGE.EXPR  for ループの式セクションでループ制御変数が変更されています

M6-5-6 (Required): A loop-control-variable other than the loop-counter which is modified in statement shall have type bool.

MISRA.FOR.LOOP_CONTROL.NOT_BOOLEAN  ループ制御変数がブール値ではありません

M6-5-6 (req.)

MISRA.FOR.LOOP_CONTROL.NOT_BOOLEAN  ループ制御変数がブール値ではありません

M6-5-6 (必要): ステートメントで変更されるループカウンター以外のループ制御変数は、bool 型でなければなりません。

MISRA.FOR.LOOP_CONTROL.NOT_BOOLEAN  ループ制御変数がブール値ではありません

M6-6-1 (Required): Any label referenced by a goto statement shall be declared in the same block

MISRA.GOTO.NESTED  入れ子複合ステートメント内で宣言されたラベルに goto しています

M6-6-1 (req.)

MISRA.GOTO.NESTED  入れ子複合ステートメント内で宣言されたラベルに goto しています

M6-6-1 (必要): goto ステートメントで参照されるラベルは同じブロック内、または goto ステートメントを囲むブロック内で宣言しなければなりません。

MISRA.GOTO.NESTED  入れ子複合ステートメント内で宣言されたラベルに goto しています

M6-6-2 (Required): The goto statement shall jump to a label declared later in the same function body.

MISRA.GOTO.AFTER.LABEL  goto が制約なしで使用されています

M6-6-2 (req.)

MISRA.GOTO.AFTER.LABEL  goto が制約なしで使用されています

M6-6-2 (必要): goto ステートメントは、同じ関数本体内で後で宣言されたラベルにジャンプしなければなりません。

MISRA.GOTO.AFTER.LABEL  goto が制約なしで使用されています

M6-6-3 (Required): The continue statement shall only be used within a well-formed for loop.

MISRA.CONTINUE.ILL  continue ステートメントが不適切な形式の for ループで使用されています

M6-6-3 (req.)

MISRA.CONTINUE.ILL  continue ステートメントが不適切な形式の for ループで使用されています

M6-6-3 (必要): continue ステートメントは、整形式の for ループ内でのみ使用されなければなりません。

MISRA.CONTINUE.ILL  continue ステートメントが不適切な形式の for ループで使用されています

M7-1-2 (Required): A pointer or reference parameter in a function shall be declared as pointer to const or reference to const if the corresponding object is not modified.

MISRA.PPARAM.NEEDS.CONST  ポインタパラメーターを使用しないでアドレスされたオブジェクトを変更していますが、const を指すポインタとして宣言されていません

M7-1-2 (req.)

MISRA.PPARAM.NEEDS.CONST  ポインタパラメーターを使用しないでアドレスされたオブジェクトを変更していますが、const を指すポインタとして宣言されていません

M7-1-2 (必要): 関数内のポインターまたは参照パラメーターは、対応するオブジェクトが変更されていない場合は、const へのポインターまたは const への参照として宣言しなければなりません。

MISRA.PPARAM.NEEDS.CONST  ポインタパラメーターを使用しないでアドレスされたオブジェクトを変更していますが、const を指すポインタとして宣言されていません

M7-3-1 (Required): The global namespace shall only contain main

MISRA.NS.GLOBAL  グローバル名前空間で関数、変数、または型が宣言されています

MISRA.NS.GLOBAL.USING  グローバル名前空間でのディレクティブまたは宣言の使用

M7-3-1 (req.)

MISRA.NS.GLOBAL  グローバル名前空間で関数、変数、または型が宣言されています

MISRA.NS.GLOBAL.USING  グローバル名前空間でのディレクティブまたは宣言の使用

M7-3-1 (必要): グローバル名前空間には、main、名前空間宣言、extern "C" 宣言のみを含めなければなりません。

MISRA.NS.GLOBAL  グローバル名前空間で関数、変数、または型が宣言されています

MISRA.NS.GLOBAL.USING  グローバル名前空間でのディレクティブまたは宣言の使用

M7-3-2 (Required): The identifier main shall not be used for a function other than the global function main.

MISRA.NS.MAIN  'main' の名前の付いた非グローバル関数が定義されています

M7-3-2 (req.)

MISRA.NS.MAIN  'main' の名前の付いた非グローバル関数が定義されています

M7-3-2 (必要): 識別子 main は、グローバル関数 main 以外の関数には使用してはなりません。

MISRA.NS.MAIN  'main' の名前の付いた非グローバル関数が定義されています

M7-3-3 (Required): There shall be no unnamed namespaces in header files.

MISRA.NAMESPACE.UNMD  ヘッダーファイルに名前のない名前空間があります

M7-3-3 (req.)

MISRA.NAMESPACE.UNMD  ヘッダーファイルに名前のない名前空間があります

M7-3-3 (必要): ヘッダーファイルに名前のない名前空間があってはなりません。

MISRA.NAMESPACE.UNMD  ヘッダーファイルに名前のない名前空間があります

M7-3-4 (Required): Using-directives shall not be used.

MISRA.NS.USING_DIR  ディレクティブを使用しています

M7-3-4 (req.)

MISRA.NS.USING_DIR  ディレクティブを使用しています

M7-3-4 (必要): using ディレクティブは使用してはなりません。

MISRA.NS.USING_DIR  ディレクティブを使用しています

M7-3-6 (Required): Using-directives and using-declarations (excluding class scope or function scope using-declarations) shall not be used in header files.

MISRA.NAMESPACE.DECL  ヘッダーファイルに using 宣言があります

MISRA.NAMESPACE.DIR  ヘッダーファイルに using ディレクティブがあります

MISRA.NS.USING.HEADER  ヘッダーファイルでディレクティブまたは宣言が使用されています

M7-3-6 (req.)

MISRA.NAMESPACE.DECL  ヘッダーファイルに using 宣言があります

MISRA.NAMESPACE.DIR  ヘッダーファイルに using ディレクティブがあります

MISRA.NS.USING.HEADER  ヘッダーファイルでディレクティブまたは宣言が使用されています

M7-3-6 (必要): using ディレクティブおよび using 宣言 (クラススコープまたは関数スコープの using 宣言を除く) は、ヘッダーファイルでは使用してはなりません。

MISRA.NAMESPACE.DECL  ヘッダーファイルに using 宣言があります

MISRA.NAMESPACE.DIR  ヘッダーファイルに using ディレクティブがあります

MISRA.NS.USING.HEADER  ヘッダーファイルでディレクティブまたは宣言が使用されています

M7-4-2 (Required): Assembler instructions shall only be introduced using the asm declaration.

MISRA.PRAGMA.ASM  不正なアセンブラ命令です

M7-4-2 (req.)

MISRA.PRAGMA.ASM  不正なアセンブラ命令です

M7-4-2 (必要): アセンブラー命令は、asm 宣言を使用してのみ導入しなければなりません。

MISRA.PRAGMA.ASM  不正なアセンブラ命令です

M7-4-3 (Required): Assembly language shall be encapsulated and isolated.

MISRA.ASM.ENCAPS  アセンブリ言語が分離されていません

M7-4-3 (req.)

MISRA.ASM.ENCAPS  アセンブリ言語が分離されていません

M7-4-3 (必要): アセンブリ言語はカプセル化および分離されなければなりません。

MISRA.ASM.ENCAPS  アセンブリ言語が分離されていません

M8-0-1 (Required): An init-declarator-list or a member-declarator-list shall consist of a single init-declarator or member-declarator respectively.

MISRA.DECL.MANY_DCLS  1 つの宣言に複数の宣言子があります

M8-0-1 (req.)

MISRA.DECL.MANY_DCLS  1 つの宣言に複数の宣言子があります

M8-0-1 (必要): 初期化宣言子リストまたはメンバー宣言子リストは、それぞれ単一の初期化宣言子またはメンバー宣言子で構成されなければなりません。

MISRA.DECL.MANY_DCLS  1 つの宣言に複数の宣言子があります

M8-3-1 (Required): Parameters in an overriding virtual function shall either use the same default arguments as the function they override

MISRA.SAME.DEFPARAMS  オーバーライドする仮想関数とオーバーライドされる関数が異なるデフォルト引数を持っています

M8-3-1 (req.)

MISRA.SAME.DEFPARAMS  オーバーライドする仮想関数とオーバーライドされる関数が異なるデフォルト引数を持っています

M8-3-1 (必要): オーバーライドする仮想関数のパラメータは、オーバーライドする関数と同じデフォルト引数を使用するか、デフォルト引数を指定しないかのいずれかでなければなりません。

MISRA.SAME.DEFPARAMS  オーバーライドする仮想関数とオーバーライドされる関数が異なるデフォルト引数を持っています

M8-4-2 (Required): The identifiers used for the parameters in a re-declaration of a function shall be identical to those in the declaration.

MISRA.FUNC.PARAMS.IDENT  関数の宣言と定義で使用される識別子が一致していません

M8-4-2 (req.)

MISRA.FUNC.PARAMS.IDENT  関数の宣言と定義で使用される識別子が一致していません

M8-4-2 (必要): 関数の再宣言でパラメータに使用される識別子は、宣言内の識別子と同一でなければなりません。

MISRA.FUNC.PARAMS.IDENT  関数の宣言と定義で使用される識別子が一致していません

M8-4-4 (Required): A function identifier shall either be used to call the function or it shall be preceded by &.

MISRA.FUNC.ADDR  & 演算子なしで関数のアドレスが使用されています

M8-4-4 (req.)

MISRA.FUNC.ADDR  & 演算子なしで関数のアドレスが使用されています

M8-4-4 (必要): 関数識別子は、関数を呼び出すために使用されるか、または、その前に & が付けられなければなりません。

MISRA.FUNC.ADDR  & 演算子なしで関数のアドレスが使用されています

M8-5-2 (Required): Braces shall be used to indicate and match the structure in the non-zero initialization of arrays and structures.

MISRA.INIT.BRACES  不適切な初期化子が配置を固定しています

M8-5-2 (req.)

MISRA.INIT.BRACES  不適切な初期化子が配置を固定しています

M8-5-2 (必要): 配列と構造体の非ゼロ初期化では、構造を示して一致させるために {} (波括弧) を使用しなければなりません。

MISRA.INIT.BRACES  不適切な初期化子が配置を固定しています

M9-3-1 (Required): Const member functions shall not return non-const pointers or references to class-data.

MISRA.CONST.RET.NON_CONST  定数のメンバー関数が非定数のポインタをメンバー変数に返しています

M9-3-1 (req.)

MISRA.CONST.RET.NON_CONST  定数のメンバー関数が非定数のポインタをメンバー変数に返しています

M9-3-1 (必要): const メンバー関数は、非 const ポインターやクラスデータへの参照を返してはなりません。

MISRA.CONST.RET.NON_CONST  定数のメンバー関数が非定数のポインタをメンバー変数に返しています

M9-3-3 (Required): If a member function can be made static then it shall be made static

MISRA.MEMB.NON_CONST  非定数のメンバー関数はどのメンバー変数も変更しません

MISRA.MEMB.NON_STATIC  非スタティックメンバー関数は同じクラスのその他の非スタティックメンバーを使用しません

M9-3-3 (req.)

MISRA.MEMB.NON_CONST  非定数のメンバー関数はどのメンバー変数も変更しません

MISRA.MEMB.NON_STATIC  非スタティックメンバー関数は同じクラスのその他の非スタティックメンバーを使用しません

M9-3-3 (必要): メンバー関数を static にできる場合は static にし、const にできる場合は const にしなければなりません。

MISRA.MEMB.NON_CONST  非定数のメンバー関数はどのメンバー変数も変更しません

MISRA.MEMB.NON_STATIC  非スタティックメンバー関数は同じクラスのその他の非スタティックメンバーを使用しません

M9-6-4 (Required): Named bit-fields with signed integer type shall have a length of more than one bit.

MISRA.BITFIELD.SIGNED  名前付きの符号付きビットフィールドの長さが 2 未満です

M9-6-4 (req.)

MISRA.BITFIELD.SIGNED  名前付きの符号付きビットフィールドの長さが 2 未満です

M9-6-4 (必要): 符号付き整数型の名前付きビットフィールドは 1 ビットを超える長さでなければなりません。

MISRA.BITFIELD.SIGNED  名前付きの符号付きビットフィールドの長さが 2 未満です

M10-1-1 (Advisory): Classes should not be derived from virtual bases.

MISRA.DERIVE.VIRTUAL  クラスが仮想基本クラスから派生しています

M10-1-1 (adv.)

MISRA.DERIVE.VIRTUAL  クラスが仮想基本クラスから派生しています

M10-1-1 (推奨): クラスは仮想基底から派生してはなりません。

MISRA.DERIVE.VIRTUAL  クラスが仮想基本クラスから派生しています

M10-1-2 (Required): A base class shall only be declared virtual if it is used in a diamond hierarchy.

MISRA.VIRTUAL.BASE.DIAMOND  基本クラスがダイヤモンド階層以外で仮想として使用されています

M10-1-2 (req.)

MISRA.VIRTUAL.BASE.DIAMOND  基本クラスがダイヤモンド階層以外で仮想として使用されています

M10-1-2 (必要): 基底クラスは、ダイヤモンド階層で使用される場合にのみ仮想として宣言しなければなりません。

MISRA.VIRTUAL.BASE.DIAMOND  基本クラスがダイヤモンド階層以外で仮想として使用されています

M10-1-3 (Required): An accessible base class shall not be both virtual and non-virtual in the same hierarchy.

MISRA.BASE.VIRTUAL.NOTVIRTUAL  基本クラスが継承階層で仮想および非仮想の両方で使用されています

M10-1-3 (req.)

MISRA.BASE.VIRTUAL.NOTVIRTUAL  基本クラスが継承階層で仮想および非仮想の両方で使用されています

M10-1-3 (必要): アクセス可能な基底クラスは、同じ階層内で仮想と非仮想の両方であってはなりません。

MISRA.BASE.VIRTUAL.NOTVIRTUAL  基本クラスが継承階層で仮想および非仮想の両方で使用されています

M10-2-1 (Advisory): All accessible entity names within a multiple inheritance hierarchy should be unique.

MISRA.BASE.IDS.UNIQUE  継承階層でメンバー名が 2 回使用されています

M10-2-1 (adv.)

MISRA.BASE.IDS.UNIQUE  継承階層でメンバー名が 2 回使用されています

M10-2-1 (推奨): 多重継承階層内のアクセス可能なエンティティ名はすべて一意でなければなりません。

MISRA.BASE.IDS.UNIQUE  継承階層でメンバー名が 2 回使用されています

M10-3-3 (Required): A virtual function shall only be overridden by a pure virtual function if it is itself declared as pure virtual.

MISRA.PUREVIRT.OVRD  純粋な仮想関数が純粋でない仮想関数をオーバーライドしています

M10-3-3 (req.)

MISRA.PUREVIRT.OVRD  純粋な仮想関数が純粋でない仮想関数をオーバーライドしています

M10-3-3 (必要): 仮想関数は、それ自体が純粋仮想として宣言されている場合は、純粋仮想関数によってのみオーバーライドされなければなりません。

MISRA.PUREVIRT.OVRD  純粋な仮想関数が純粋でない仮想関数をオーバーライドしています

M11-0-1 (Required): Member data in non-POD class types shall be private.

MISRA.MEMB.NOT_PRIVATE  非 POD クラスのメンバー変数がプライベートではありません

M11-0-1 (req.)

MISRA.MEMB.NOT_PRIVATE  非 POD クラスのメンバー変数がプライベートではありません

M11-0-1 (必要): 非 POD クラス型のメンバーデータはプライベートでなければなりません。

MISRA.MEMB.NOT_PRIVATE  非 POD クラスのメンバー変数がプライベートではありません

M12-1-1 (Required): An object’s dynamic type shall not be used from the body of its constructor or destructor.

MISRA.CTOR.DYNAMIC  オブジェクトの動的タイプがそのコンストラクタのボディから使用されています

MISRA.DTOR.DYNAMIC  オブジェクトの動的タイプがそのデストラクタのボディから使用されています

M12-1-1 (req.)

MISRA.CTOR.DYNAMIC  オブジェクトの動的タイプがそのコンストラクタのボディから使用されています

MISRA.DTOR.DYNAMIC  オブジェクトの動的タイプがそのデストラクタのボディから使用されています

M12-1-1 (必要): オブジェクトの dynamic 型は、そのコンストラクターまたはデストラクターの本体から使用してはなりません。

MISRA.CTOR.DYNAMIC  オブジェクトの動的タイプがそのコンストラクタのボディから使用されています

MISRA.DTOR.DYNAMIC  オブジェクトの動的タイプがそのデストラクタのボディから使用されています

M14-5-3 (Required): A copy assignment operator shall be declared when there is a template assignment operator with a parameter that is a generic parameter.

MISRA.COPYASSIGN.TMPL  コピー代入演算子は、単一の汎用パラメーターを持つテンプレートコピー代入演算子をクラスに持たせるときに定義する必要があります

M14-5-3 (req.)

MISRA.COPYASSIGN.TMPL  コピー代入演算子は、単一の汎用パラメーターを持つテンプレートコピー代入演算子をクラスに持たせるときに定義する必要があります

M14-5-3 (必要): 汎用パラメーターを持つテンプレート代入演算子がある場合は、コピー代入演算子を宣言しなければなりません。

MISRA.COPYASSIGN.TMPL  コピー代入演算子は、単一の汎用パラメーターを持つテンプレートコピー代入演算子をクラスに持たせるときに定義する必要があります

M14-6-1 (Required): In a class template with a dependent base

MISRA.TEMPLMEM.NOQUAL  インスタンス化されたテンプレートで、依存基本クラスで宣言されたメンバーが修飾子または 'this' なしで使用されています

M14-6-1 (req.)

MISRA.TEMPLMEM.NOQUAL  インスタンス化されたテンプレートで、依存基本クラスで宣言されたメンバーが修飾子または 'this' なしで使用されています

M14-6-1 (必要): 依存ベースを持つクラステンプレートでは、その依存ベースで見つかる名前は、すべて、修飾 ID または this-> を使用して参照されなければなりません。

MISRA.TEMPLMEM.NOQUAL  インスタンス化されたテンプレートで、依存基本クラスで宣言されたメンバーが修飾子または 'this' なしで使用されています

M15-0-3 (Required): Control shall not be transferred into a try or catch block using a goto or a switch statement.

MISRA.TRY.JUMP  goto ステートメントまたは switch ステートメントでコントロールを try ブロックに転送できます

M15-0-3 (req.)

MISRA.TRY.JUMP  goto ステートメントまたは switch ステートメントでコントロールを try ブロックに転送できます

M15-0-3 (必要): goto または switch ステートメントを使用して、制御を try または catch ブロックに転送してはなりません。

MISRA.TRY.JUMP  goto ステートメントまたは switch ステートメントでコントロールを try ブロックに転送できます

M15-1-2 (Required): NULL shall not be thrown explicitly.

MISRA.THROW.NULL  NULL が明示的にスローされています

M15-1-2 (req.)

MISRA.THROW.NULL  NULL が明示的にスローされています

M15-1-2 (必要): null は明示的にスローさせてはなりません。

MISRA.THROW.NULL  NULL が明示的にスローされています

M15-1-3 (Required): An empty throw (throw;) shall only be used in the compound statement of a catch handler.

MISRA.THROW.EMPTY  空のスロー式が catch ブロックに属していません

M15-1-3 (req.)

MISRA.THROW.EMPTY  空のスロー式が catch ブロックに属していません

M15-1-3 (必要): 空の throw (throw;) は、catch ハンドラーの複合ステートメントでのみ使用されなければなりません。

MISRA.THROW.EMPTY  空のスロー式が catch ブロックに属していません

M15-3-3 (Required): Handlers of a function-try-block implementation of a class constructor or destructor shall not reference non-static members from this class or its bases.

MISRA.CTOR.TRY.NON_STATIC  コンストラクタまたはデストラクタの関数 try-catch ブロックが非スタティックなメンバーを参照しています

M15-3-3 (req.)

MISRA.CTOR.TRY.NON_STATIC  コンストラクタまたはデストラクタの関数 try-catch ブロックが非スタティックなメンバーを参照しています

M15-3-3 (必要): クラスコンストラクターまたはデストラクターの関数 try ブロック実装のハンドラーは、このクラスまたはそのベースの非静的メンバーを参照してはなりません。

MISRA.CTOR.TRY.NON_STATIC  コンストラクタまたはデストラクタの関数 try-catch ブロックが非スタティックなメンバーを参照しています

M15-3-6 (Required): Where multiple handlers are provided in a single try-catch statement or function-try-block for a derived class and some or all of its bases

MISRA.CATCH.WRONGORD  try-catch ブロックで基本例外クラスのハンドラーが派生例外クラスのハンドラーよりも先に置かれています

M15-3-6 (req.)

MISRA.CATCH.WRONGORD  try-catch ブロックで基本例外クラスのハンドラーが派生例外クラスのハンドラーよりも先に置かれています

M15-3-6 (必要): 派生クラスとその一部またはすべてのベースに対して、単一の try-catch ステートメントまたは function-try-block に複数のハンドラーが提供されている場合、ハンドラーはベースクラスの派生順に並べられなければなりません。

MISRA.CATCH.WRONGORD  try-catch ブロックで基本例外クラスのハンドラーが派生例外クラスのハンドラーよりも先に置かれています

M15-3-7 (Required): Where multiple handlers are provided in a single try-catch statement or function-try-block

MISRA.CATCH.NOALL  省略記号例外ハンドラーが try-catch ブロックの最後に置かれていません

M15-3-7 (req.)

MISRA.CATCH.NOALL  省略記号例外ハンドラーが try-catch ブロックの最後に置かれていません

M15-3-7 (必要): 単一の try-catch ステートメントまたは function-try-block に複数のハンドラーが提供されている場合、省略記号 (catch-all) ハンドラーは最後に出現しなければなりません。

MISRA.CATCH.NOALL  省略記号例外ハンドラーが try-catch ブロックの最後に置かれていません

M16-0-1 (Required): #include directives in a file shall only be preceded by other pre-processor directives or comments.

MISRA.INCL.INSIDE  include ディレクティブの前にプリプロセッサ出力トークンがあります

M16-0-1 (req.)

MISRA.INCL.INSIDE  include ディレクティブの前にプリプロセッサ出力トークンがあります

M16-0-1 (必要): ファイル内の #include ディレクティブの前には、他のプリプロセッサディレクティブまたはコメントのみを置かなければなりません。

MISRA.INCL.INSIDE  include ディレクティブの前にプリプロセッサ出力トークンがあります

M16-0-2 (Required): Macros shall only be #define’d or #undef’d in the global namespace.

MISRA.DEFINE.NOTGLOBAL  グローバルレベル以外で定義されています

MISRA.UNDEF.NOTGLOBAL  グローバルレベル以外で定義されていません

M16-0-2 (req.)

MISRA.DEFINE.NOTGLOBAL  グローバルレベル以外で定義されています

MISRA.UNDEF.NOTGLOBAL  グローバルレベル以外で定義されていません

M16-0-2 (必要): マクロは、グローバル名前空間内でのみ #define または #undef されるものとします。

MISRA.DEFINE.NOTGLOBAL  グローバルレベル以外で定義されています

MISRA.UNDEF.NOTGLOBAL  グローバルレベル以外で定義されていません

M16-0-5 (Required): Arguments to a function-like macro shall not contain tokens that look like pre-processing directives.

MISRA.EXPANSION.DIRECTIVE  マクロの引数内にディレクティブのようなトークンがあります

M16-0-5 (req.)

MISRA.EXPANSION.DIRECTIVE  マクロの引数内にディレクティブのようなトークンがあります

M16-0-5 (必要): 関数のようなマクロへの引数には、プリプロセッサディレクティブのように見えるトークンを含めてはなりません。

MISRA.EXPANSION.DIRECTIVE  マクロの引数内にディレクティブのようなトークンがあります

M16-0-6 (Required): In the definition of a function-like macro

MISRA.DEFINE.NOPARS  マクロパラメーターに括弧がありません

M16-0-6 (req.)

MISRA.DEFINE.NOPARS  マクロパラメーターに括弧がありません

M16-0-6 (必要): 関数のようなマクロの定義では、パラメーターの各インスタンスは、# または ## のオペランドとして使用されていない限り、括弧で囲まなければなりません。

MISRA.DEFINE.NOPARS  マクロパラメーターに括弧がありません

M16-0-7 (Required): Undefined macro identifiers shall not be used in #if or #elif pre-processor directives

MISRA.ELIF.UNDEF  #elif ディレクティブでマクロが定義されていません

MISRA.IF.UNDEF  #if ディレクティブでマクロが定義されていません

M16-0-7 (req.)

MISRA.ELIF.UNDEF  #elif ディレクティブでマクロが定義されていません

MISRA.IF.UNDEF  #if ディレクティブでマクロが定義されていません

M16-0-7 (必要): 未定義のマクロ識別子は、定義済み演算子のオペランドとして使用する場合を除き、#if または #elif プリプロセッサディレクティブで使用してはなりません。

MISRA.ELIF.UNDEF  #elif ディレクティブでマクロが定義されていません

MISRA.IF.UNDEF  #if ディレクティブでマクロが定義されていません

M16-0-8 (Required): If the # token appears as the first token on a line

MISRA.USE.UNKNOWNDIR  不明なプリプロセッサディレクティブが使用されています

M16-0-8 (req.)

MISRA.USE.UNKNOWNDIR  不明なプリプロセッサディレクティブが使用されています

M16-0-8 (必要): # トークンが行の最初のトークンとして出現する場合は、その直後にプリプロセッサトークンが続かなければなりません。

MISRA.USE.UNKNOWNDIR  不明なプリプロセッサディレクティブが使用されています

M16-1-1 (Required): The defined pre-processor operator shall only be used in one of the two standard forms.

MISRA.ELIF.DEFINED  #elif ディレクティブで不正な 'defined' が使用されています

MISRA.IF.DEFINED  #if ディレクティブで不正な 'defined' が使用されています

M16-1-1 (req.)

MISRA.ELIF.DEFINED  #elif ディレクティブで不正な 'defined' が使用されています

MISRA.IF.DEFINED  #if ディレクティブで不正な 'defined' が使用されています

M16-1-1 (必要): 定義されたプリプロセッサ演算子は、2 つの標準形式のいずれかでのみ使用しなければなりません。

MISRA.ELIF.DEFINED  #elif ディレクティブで不正な 'defined' が使用されています

MISRA.IF.DEFINED  #if ディレクティブで不正な 'defined' が使用されています

M16-1-2 (Required): All #else

MISRA.ELIF.OTHERFILE  不適切なファイルでの #elif

MISRA.ELSE.OTHERFILE  不適切なファイルでの #else

MISRA.ENDIF.OTHERFILE  不適切なファイルでの #endif

M16-1-2 (req.)

MISRA.ELIF.OTHERFILE  不適切なファイルでの #elif

MISRA.ELSE.OTHERFILE  不適切なファイルでの #else

MISRA.ENDIF.OTHERFILE  不適切なファイルでの #endif

M16-1-2 (必要): すべての #else、#elif、#endif プリプロセッサディレクティブは、それらが関連する #if または #ifdef ディレクティブと同じファイル内になければなりません。

MISRA.ELIF.OTHERFILE  不適切なファイルでの #elif

MISRA.ELSE.OTHERFILE  不適切なファイルでの #else

MISRA.ENDIF.OTHERFILE  不適切なファイルでの #endif

M16-2-3 (Required): Include guards shall be provided.

MISRA.INCGUARD  インクルードガードが入力されていません

M16-2-3 (req.)

MISRA.INCGUARD  インクルードガードが入力されていません

M16-2-3 (必要): インクルードガードが提供されなければなりません。

MISRA.INCGUARD  インクルードガードが入力されていません

M16-3-1 (Required): There shall be at most one occurrence of the # or ## operators in a single macro definition.

MISRA.DEFINE.SHARP.MANY  マクロ定義に # 演算子または ## 演算子がいくつか使用されています

M16-3-1 (req.)

MISRA.DEFINE.SHARP.MANY  マクロ定義に # 演算子または ## 演算子がいくつか使用されています

M16-3-1 (必要): 単一のマクロ定義内で、# または ## 演算子は最大 1 回出現しなければなりません。

MISRA.DEFINE.SHARP.MANY  マクロ定義に # 演算子または ## 演算子がいくつか使用されています

M16-3-2 (Advisory): The # and ## operators should not be used.

MISRA.DEFINE.SHARP  マクロ定義に # 演算子または ## 演算子が使用されています

M16-3-2 (adv.)

MISRA.DEFINE.SHARP  マクロ定義に # 演算子または ## 演算子が使用されています

M16-3-2 (推奨): # および ## 演算子は使用してはなりません。

MISRA.DEFINE.SHARP  マクロ定義に # 演算子または ## 演算子が使用されています

M17-0-2 (Required): The names of standard library macros and objects shall not be reused.

MISRA.UNDEF.WRONGNAME  標準ライブラリからの名前が定義されていません

MISRA.UNDEF.WRONGNAME.UNDERSCORE  予約名が定義されていません

M17-0-2 (req.)

MISRA.UNDEF.WRONGNAME  標準ライブラリからの名前が定義されていません

MISRA.UNDEF.WRONGNAME.UNDERSCORE  予約名が定義されていません

M17-0-2 (必要): 標準ライブラリのマクロとオブジェクトの名前は再利用してはなりません。

MISRA.UNDEF.WRONGNAME  標準ライブラリからの名前が定義されていません

MISRA.UNDEF.WRONGNAME.UNDERSCORE  予約名が定義されていません

M17-0-3 (Required): The names of standard library functions shall not be overridden.

MISRA.STDLIB.WRONGNAME  標準ライブラリのマクロ、オブジェクトまたは関数の名前が再使用されています

MISRA.STDLIB.WRONGNAME.UNDERSCORE  予約名が言語エンティティの名前に使用されています

M17-0-3 (req.)

MISRA.STDLIB.WRONGNAME  標準ライブラリのマクロ、オブジェクトまたは関数の名前が再使用されています

MISRA.STDLIB.WRONGNAME.UNDERSCORE  予約名が言語エンティティの名前に使用されています

M17-0-3 (必要): 標準ライブラリ関数の名前はオーバーライドされてはなりません。

MISRA.STDLIB.WRONGNAME  標準ライブラリのマクロ、オブジェクトまたは関数の名前が再使用されています

MISRA.STDLIB.WRONGNAME.UNDERSCORE  予約名が言語エンティティの名前に使用されています

M17-0-5 (Required): The setjmp macro and the longjmp function shall not be used.

MISRA.STDLIB.LONGJMP  setjmp マクロまたは longjmp 関数の使用

M17-0-5 (req.)

MISRA.STDLIB.LONGJMP  setjmp マクロまたは longjmp 関数の使用

M17-0-5 (必要): setjmp マクロおよび longjmp 関数は使用してはなりません。

MISRA.STDLIB.LONGJMP  setjmp マクロまたは longjmp 関数の使用

M18-0-4 (Required): The time handling functions of library <ctime> shall not be used.

MISRA.STDLIB.TIME  ライブラリ time.h の時間処理関数の使用

M18-0-4 (req.)

MISRA.STDLIB.TIME  ライブラリ time.h の時間処理関数の使用

M18-0-4 (必要): ライブラリ <ctime> の時間処理関数は使用してはなりません。

MISRA.STDLIB.TIME  ライブラリ time.h の時間処理関数の使用

M18-0-5 (Required): The unbounded functions of library <cstring> shall not be used.

MISRA.STDLIB.CSTRING  'cstring' ライブラリからの関数が使用されています

MISRA.STDLIB.CSTRING.MACRO  'cstring' ライブラリからのマクロが使用されています

M18-0-5 (req.)

MISRA.STDLIB.CSTRING  'cstring' ライブラリからの関数が使用されています

MISRA.STDLIB.CSTRING.MACRO  'cstring' ライブラリからのマクロが使用されています

M18-0-5 (必要): ライブラリ <cstring> の無制限関数は使用してはなりません。

MISRA.STDLIB.CSTRING  'cstring' ライブラリからの関数が使用されています

MISRA.STDLIB.CSTRING.MACRO  'cstring' ライブラリからのマクロが使用されています

M18-7-1 (Required): The signal handling facilities of <csignal> shall not be used.

MISRA.STDLIB.SIGNAL  signal.h の信号処理装置の使用

M18-7-1 (req.)

MISRA.STDLIB.SIGNAL  signal.h の信号処理装置の使用

M18-7-1 (必要): <csignal> のシグナル処理機能は使用してはなりません。

MISRA.STDLIB.SIGNAL  signal.h の信号処理装置の使用

M19-3-1 (Required): The error indicator errno shall not be used.

MISRA.STDLIB.ERRNO  エラーインジケーター 'errno' が使用されています

M19-3-1 (req.)

MISRA.STDLIB.ERRNO  エラーインジケーター 'errno' が使用されています

M19-3-1 (必要): エラーインジケーター errno は使用してはなりません。

MISRA.STDLIB.ERRNO  エラーインジケーター 'errno' が使用されています

M27-0-1 (Required): The stream input/output library <cstdio> shall not be used.

MISRA.STDLIB.STDIO  プロダクションコードで入力/出力ライブラリ stdio.h が使用されています

M27-0-1 (req.)

MISRA.STDLIB.STDIO  プロダクションコードで入力/出力ライブラリ stdio.h が使用されています

M27-0-1 (必要): ストリーム入力/出力ライブラリ <cstdio> は使用してはなりません。

MISRA.STDLIB.STDIO  プロダクションコードで入力/出力ライブラリ stdio.h が使用されています

\ characters shall not occur in a header file name or in #include directive.

MISRA.INCL.SYMS  ヘッダーファイル名に非標準文字が使用されています

a function return type

MISRA.OBJ.TYPE.IDENT  型がその他の宣言の型と一致していません

a null statement shall only occur on a line by itself; it may be followed by a comment

MISRA.NULL.STMT  行上に NULL ステートメント以外のものがあるか、またはコメントが不適切な場所に記述されています

all direct non-virtual base classes and all non-static data members.

MISRA.CTOR.BASE  コンストラクタがその基本クラスのコンストラクタを明示的に呼び出していません

an implicit or explicit invocation of std::abort()

MISRA.STDLIB.ABORT  ライブラリ stdlib.h から 'abort'、'exit'、'getenv' または 'system' が使用されています

and the unary & operator.

MISRA.CHAR.OPERAND  型 'char' または 'wchar_t' の式が文字以外のオペランドで使用されています

and using the following directives: ...

MISRA.USE.DEFINE  マクロが保護されずに定義されています

any ellipsis (catch-all) handler shall occur last.

MISRA.CATCH.NOALL  省略記号例外ハンドラーが try-catch ブロックの最後に置かれていません

any name that may be found in that dependent base shall be referred to using a qualified-id or this->.

MISRA.TEMPLMEM.NOQUAL  インスタンス化されたテンプレートで、依存基本クラスで宣言されたメンバーが修飾子または 'this' なしで使用されています

calloc

AUTOSAR.STDLIB.MEMORY  関数 malloc、calloc、realloc、および free は使用してはなりません

const version shall also be implemented.

AUTOSAR.OP.INDEX.NON_CONST  "operator[]" を非 const バージョンで多重定義する予定であれば、const バージョンも実装する必要があります

deallocation functions

AUTOSAR.EXCPT.SPECIAL_MEMBER_THROW  ユーザー指定のクラスデストラクタ、割り当て解除関数、移動コンストラクタ、移動代入演算子、およびスワップ関数は、どれも例外を送出して終了してはなりません

distinct from the default label.

AUTOSAR.SWITCH.CASECOUNT  switch ステートメントには、デフォルトのラベルとは異なる 2 つ以上の case 節を指定する必要があります

do ... while or for statement shall be a compound statement.

MISRA.STMT.NO_COMPOUND  switch、while、do/while または for ステートメントのボディが複合ステートメントではありません

each instance of a parameter shall be enclosed in parentheses

MISRA.DEFINE.NOPARS  マクロパラメーターに括弧がありません

either (1) none

MISRA.ENUM.INIT  1 番目以外の列挙子が明示的に初期化されていますが、一部の要素が明示的に初期化されていません

either directly or indirectly.

MISRA.FUNC.RECUR  再帰関数

enum type or union type declarations.

AUTOSAR.OP.TMPL.NON_MEMBER  非メンバージェネリック演算子は、クラス (構造体) 型、列挙型、または和集合型の宣言が含まれない名前空間でのみ宣言する必要があります

every 2 digits

AUTOSAR.DIGIT_SEPARATORS  数字列の区切り子 ' は、(1) 10 進数を 3 桁ずつ、(2) 16 進数を 2 桁ずつ、(3) 2 進数を 4 桁ずつ区切る場合のみ使用する必要があります

every 3 digits

AUTOSAR.DIGIT_SEPARATORS  数字列の区切り子 ' は、(1) 10 進数を 3 桁ずつ、(2) 16 進数を 2 桁ずつ、(3) 2 進数を 4 桁ずつ区切る場合のみ使用する必要があります

every 4 digits.

AUTOSAR.DIGIT_SEPARATORS  数字列の区切り子 ' は、(1) 10 進数を 3 桁ずつ、(2) 16 進数を 2 桁ずつ、(3) 2 進数を 4 桁ずつ区切る場合のみ使用する必要があります

except as operands to the defined operator.

MISRA.ELIF.UNDEF  #elif ディレクティブでマクロが定義されていません

MISRA.IF.UNDEF  #if ディレクティブでマクロが定義されていません

for which the specialization is declared.

MISRA.SPEC.SAMEFILE  テンプレート特殊化とその基本テンプレートが別々のファイルで宣言されています

function or enumerator declaration in the same scope.

MISRA.TYPE.NAMECLASH.CPP.2008  ある名前空間の識別子が他の名前空間の識別子と同じスペルです

including a pointer to function type.

MISRA.CAST.FUNC_PTR.CPP  キャストにより関数ポインタがその他のポインタ型に変換されます

indicating the size and signedness

AUTOSAR.BUILTIN_NUMERIC  基本的な数値型の代わりに <cstdint> で提供される固定幅の整数型を使用する必要があります

its size shall be stated explicitly.

MISRA.DECL.ARRAY_SIZE  配列の宣言でサイズが不明です

macros and functions in the C++ standard library shall not be defined

MISRA.DEFINE.WRONGNAME  標準ライブラリからの名前がマクロ名に使用されています

MISRA.DEFINE.WRONGNAME.UNDERSCORE  予約名がマクロ名に使用されています

move assignment operators and swap functions shall not exit with an exception.

AUTOSAR.EXCPT.SPECIAL_MEMBER_THROW  ユーザー指定のクラスデストラクタ、割り当て解除関数、移動コンストラクタ、移動代入演算子、およびスワップ関数は、どれも例外を送出して終了してはなりません

move constructors

AUTOSAR.EXCPT.SPECIAL_MEMBER_THROW  ユーザー指定のクラスデストラクタ、割り当て解除関数、移動コンストラクタ、移動代入演算子、およびスワップ関数は、どれも例外を送出して終了してはなりません

namespace declarations and extern "C" declarations.

MISRA.NS.GLOBAL  グローバル名前空間で関数、変数、または型が宣言されています

MISRA.NS.GLOBAL.USING  グローバル名前空間でのディレクティブまたは宣言の使用

noexcept(true) or noexcept(<true condition>)

AUTOSAR.EXCPT.NOEXCPT_THROW  関数を noexcept、noexcept(true)、または noexcept(<true condition>) と宣言する場合、その関数は例外を送出して終了してはなりません

or + = n; where n remains constant for the duration of the loop.

MISRA.FOR.INCR  for ループのカウンターが不適切な方法で変更されています

or a function parameter shall be token-for-token identical in all declarations and re-declarations.

MISRA.OBJ.TYPE.IDENT  型がその他の宣言の型と一致していません

or another if statement.

MISRA.IF.NO_COMPOUND  if/else ステートメントのボディが複合ステートメントではありません

or else shall not specify any default arguments.

MISRA.SAME.DEFPARAMS  オーバーライドする仮想関数とオーバーライドされる関数が異なるデフォルト引数を持っています

or enumeration shall not be declared in the definition of its type.

AUTOSAR.DECL.IN_DEFN  クラス、構造体、または列挙をその型の定義で宣言してはなりません

or in a block enclosing the goto statement.

MISRA.GOTO.NESTED  入れ子複合ステートメント内で宣言されたラベルに goto しています

otherwise if it can be made const then it shall be made const.

MISRA.MEMB.NON_CONST  非定数のメンバー関数はどのメンバー変数も変更しません

MISRA.MEMB.NON_STATIC  非スタティックメンバー関数は同じクラスのその他の非スタティックメンバーを使用しません

otherwise symbolic names shall be used instead.

AUTOSAR.ADD.LITERAL  型の初期化を除いて、リテラル値を使用してはなりません

provided that the first character following the null statement is a white-space character.

MISRA.NULL.STMT  行上に NULL ステートメント以外のものがあるか、またはコメントが不適切な場所に記述されています

public override or protected non-virtual.

CL.MLK.VIRTUAL  メモリリーク - デストラクタで発生している可能性

realloc and free shall not be used.

AUTOSAR.STDLIB.MEMORY  関数 malloc、calloc、realloc、および free は使用してはなりません

redefined or undefined.

MISRA.DEFINE.WRONGNAME  標準ライブラリからの名前がマクロ名に使用されています

MISRA.DEFINE.WRONGNAME.UNDERSCORE  予約名がマクロ名に使用されています

shall be used in place of the basic numerical types.

AUTOSAR.BUILTIN_NUMERIC  基本的な数値型の代わりに <cstdint> で提供される固定幅の整数型を使用する必要があります

should have a file name extension of ".cpp".

AUTOSAR.ADD.FILE.EXT  ローカル実装ファイルにファイル拡張子 .cpp が付いていません

std::_Exit()

MISRA.STDLIB.ABORT  ライブラリ stdlib.h から 'abort'、'exit'、'getenv' または 'system' が使用されています

std::exception and all otherwise unhandled exceptions.

MISRA.CATCH.ALL  try-catch ブロックに省略記号例外ハンドラーがありません

std::quick_exit()

MISRA.STDLIB.ABORT  ライブラリ stdlib.h から 'abort'、'exit'、'getenv' または 'system' が使用されています

std::terminate() shall not be done.

MISRA.STDLIB.ABORT  ライブラリ stdlib.h から 'abort'、'exit'、'getenv' または 'system' が使用されています

structure

AUTOSAR.DECL.IN_DEFN  クラス、構造体、または列挙をその型の定義で宣言してはなりません

that are defined locally in the project

AUTOSAR.ADD.FILE.EXT  ローカル実装ファイルにファイル拡張子 .cpp が付いていません

the equality operators == and ! =

MISRA.CHAR.OPERAND  型 'char' または 'wchar_t' の式が文字以外のオペランドで使用されています

the function shall place all objects/resources that the function constructed in valid states or it shall delete them.

MLK.MIGHT  メモリリークの可能性

MLK.MUST  メモリリーク

MLK.RET.MIGHT  メモリリークの可能性

MLK.RET.MUST  メモリリーク

the handlers shall be ordered most-derived to base class.

MISRA.CATCH.WRONGORD  try-catch ブロックで基本例外クラスのハンドラーが派生例外クラスのハンドラーよりも先に置かれています

the logical && or the logical || operators shall have type bool.

MISRA.LOGIC.NOT_BOOL  論理演算のオペランドがブール値ではありません

the loop-counter shall only be used as an operand to <=

MISRA.FOR.COND.EQ  ループカウンターに対して++ 演算子または -- 演算子を使用していませんが、ループカウンターがイコールかどうかで判定しています

the order of initialization shall be following: ...

CWARN.MEMBER.INIT.ORDER  初期化リストのメンバーが、クラスで宣言された順序でリストされません

the result shall be immediately cast to the underlying type of the operand.

MISRA.CAST.UNSIGNED_BITS  unsigned char または short でのビット演算の結果は元の型にキャストできません

the trailing return type syntax shall be used if the return type depends on the type of parameters.

AUTOSAR.ADD.FUNC.TEMPLATE.TRAIL.RTN  関数テンプレートでは、戻り値型がパラメーターの型に依存する場合、後置戻り値型構文を使用する必要があります

then

MISRA.FOR.COND.EQ  ループカウンターに対して++ 演算子または -- 演算子を使用していませんが、ループカウンターがイコールかどうかで判定しています

then before a throw

MLK.MIGHT  メモリリークの可能性

MLK.MUST  メモリリーク

MLK.RET.MIGHT  メモリリークの可能性

MLK.RET.MUST  メモリリーク

then both sized and unsized versions shall be defined.

AUTOSAR.OP.DELETE.MISSING_VERSION  プロジェクトにサイズ指定付きまたはサイズ指定なしの演算子 "delete" がグローバルに定義されている場合は、サイズ指定付きとサイズ指定なしの両方を定義する必要があります

then it shall be immediately followed by a pre-processing token.

MISRA.USE.UNKNOWNDIR  不明なプリプロセッサディレクティブが使用されています

then it shall be the only constructor apart from special member function constructors.

AUTOSAR.ADD.CTOR.INIT.LIST  std::initializer_list 型のパラメーターを受け取るユーザー宣言コンストラクタがクラスに含まれる場合、特殊メンバー関数コンストラクタを除いて、そのコンストラクタが唯一のコンストラクタでなければなりません

then it shall deallocate the object’s resources and it shall throw an exception.

CL.MLK  メモリリーク - デストラクタで発生

then it shall not exit with an exception.

AUTOSAR.EXCPT.NOEXCPT_THROW  関数を noexcept、noexcept(true)、または noexcept(<true condition>) と宣言する場合、その関数は例外を送出して終了してはなりません

then the class should be declared final.

AUTOSAR.DTOR.NON_VIRTUAL  クラスのパブリックデストラクタが非仮想的である場合、そのクラスは final と宣言する必要があります

unless it is used as the operand of # or ##.

MISRA.DEFINE.NOPARS  マクロパラメーターに括弧がありません

while

MISRA.STMT.NO_COMPOUND  switch、while、do/while または for ステートメントのボディが複合ステートメントではありません

within condition

MISRA.FOR.COND.EQ  ループカウンターに対して++ 演算子または -- 演算子を使用していませんが、ループカウンターがイコールかどうかで判定しています

without any side effects.

AUTOSAR.ADD.ASSIGN.OP.SIDE.EFFECT  move および copy 代入演算子は、副作用を発生させることなく基本クラスとクラスのデータメンバーの移動または個別コピーを行う必要があります

|| operators shall not contain side effects.

MISRA.LOGIC.SIDEEFF  論理 'and' 式または論理 'or' 式の右側のオペランドは副作用があります

− = n

MISRA.FOR.INCR  for ループのカウンターが不適切な方法で変更されています

サポートのサマリー:

  • 実施される 228 個の規則

"MISRA"、"MISRA C" および、"MISRA C++" は、The MISRA Consortium Limited の登録商標です。​