Klocwork チェッカーにマッピングされた MISRA C++:2008 規則
ガイドライン | カテゴリ | チェッカー名および説明 |
---|---|---|
Dir. 0.3.1 | 書類(Document) | |
Dir. 0.4.1 | 書類(Document) | |
Dir. 0.4.2 | 書類(Document) | |
Dir. 0.4.3 | 書類(Document) | |
Dir. 1.0.2 | 書類(Document) | |
Dir. 1.0.3 | 書類(Document) | |
Dir. 2.2.1 | 書類(Document) | |
Dir. 7.4.1 | 書類(Document) | |
Dir. 9.6.1 | 書類(Document) | |
Dir. 15.0.1 | 書類(Document) | |
Dir. 16.6.1 | 書類(Document) | |
Dir. 17.0.4 | 書類(Document) | |
Rule 0-1-1 | 必要(Required) |
UNREACH.ENUM enum が取りうる値が原因で、コードは到達不能になっています UNREACH.GEN 到達不能コード UNREACH.RETURN 到達不能な void return文 |
Rule 0-1-2 | 必要(Required) |
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 になります |
Rule 0-1-3 | 必要(Required) |
LV_UNUSED.GEN ローカル変数は使用されません |
Rule 0-1-4 | 必要(Required) | |
Rule 0-1-5 | 必要(Required) | |
Rule 0-1-6 | 必要(Required) | |
Rule 0-1-7 | 必要(Required) |
MISRA.FUNC.UNUSEDRET 非 void 関数の戻り値が使用されていません |
Rule 0-1-8 | 必要(Required) | |
Rule 0-1-9 | 必要(Required) |
VA_UNUSED.GEN 値を割り当て後に使用しません VA_UNUSED.INIT 値を初期化後に使用しません |
Rule 0-1-10 | 必要(Required) |
UNUSED.FUNC.GEN 関数を定義していますが、使用していません |
Rule 0-1-11 | 必要(Required) |
MISRA.FUNC.UNUSEDPAR 非仮想関数の仮引数が使用されていません MISRA.FUNC.UNUSEDPAR.UNNAMED 非仮想関数で名前のない仮引数が使用されていません |
Rule 0-1-12 | 必要(Required) |
MISRA.FUNC.VIRTUAL.UNUSEDPAR 仮想関数セットの仮引数が使用されていません |
Rule 0-2-1 | 必要(Required) |
MISRA.ASSIGN.OVERLAP オブジェクトがオーバーラップするオブジェクトに割り当てられています |
Rule 0-3-2 | 必要(Required) | |
Rule 1-0-1 | 必要(Required) | |
Rule 2-3-1 | 必要(Required) |
MISRA.CHAR.TRIGRAPH 3 文字表記の使用 |
Rule 2-5-1 | 推奨(Advisory) |
MISRA.CHAR.DIGRAPH 2 文字表記の使用 |
Rule 2-7-1 | 必要(Required) |
MISRA.TOKEN.BADCOM コメントに不適切な文字列があります |
Rule 2-7-2 | 必要(Required) |
MISRA.TOKEN.COMMENTED.CODE コメントにはコメントアウトされたソースコードが含まれているようです |
Rule 2-7-3 | 推奨(Advisory) |
MISRA.TOKEN.COMMENTED.CODE コメントにはコメントアウトされたソースコードが含まれているようです |
Rule 2-10-1 | 必要(Required) | |
Rule 2-10-2 | 必要(Required) |
MISRA.VAR.HIDDEN 内部のスコープで宣言された識別子によって外部のスコープの識別子が非表示になっています |
Rule 2-10-3 | 必要(Required) |
MISRA.TYPEDEF.NOT_UNIQUE Typedef 名がその他のエンティティ用に使用されています |
Rule 2-10-4 | 必要(Required) |
MISRA.CT.UNIQUE.ID 識別子がタグ名と不整合です |
Rule 2-10-5 | 推奨(Advisory) |
MISRA.VAR.UNIQUE.STATIC 静的ストレージ指定の識別子がその他の識別子と不整合です |
Rule 2-10-6 | 必要(Required) |
MISRA.TYPE.NAMECLASH.CPP.2008 ある名前空間の識別子が他の名前空間の識別子と同じスペルです |
Rule 2-13-1 | 必要(Required) |
MISRA.TOKEN.WRONGESC.CPP.2008 リテラルに不正なエスケープ文字列があります |
Rule 2-13-2 | 必要(Required) |
MISRA.TOKEN.OCTAL.ESCAPE 8 進数のエスケープ文字列の使用 MISRA.TOKEN.OCTAL.INT 8 進数の整数定数を使用しています |
Rule 2-13-3 | 必要(Required) |
MISRA.LITERAL.UNSIGNED.SUFFIX 'U' 添え字の付かない符号なし整数リテラルです |
Rule 2-13-4 | 必要(Required) |
MISRA.LITERAL.SUFFIX.CASE リテラルの添え字は小文字です |
Rule 2-13-5 | 必要(Required) |
MISRA.STRINGS.CONCAT 狭い文字列リテラルと広い文字列リテラルが連結されています |
Rule 3-1-1 | 必要(Required) |
MISRA.ONEDEFRULE.FUNC ヘッダーファイルでグローバル関数が定義されています MISRA.ONEDEFRULE.VAR ヘッダーファイルでグローバル変数が定義されています |
Rule 3-1-2 | 必要(Required) |
MISRA.DECL.FUNC_LOCAL 関数がローカルで宣言されています |
Rule 3-1-3 | 必要(Required) |
MISRA.DECL.ARRAY_SIZE 配列の宣言でサイズが不明です |
Rule 3-2-1 | 必要(Required) |
MISRA.OBJ.TYPE.COMPAT 型がその他の宣言の型と互換性がありません |
Rule 3-2-2 | 必要(Required) | |
Rule 3-2-3 | 必要(Required) | |
Rule 3-2-4 | 必要(Required) | |
Rule 3-3-1 | 必要(Required) |
MISRA.LINKAGE.EXTERN 外部リンクを持つオブジェクトまたは関数の宣言がヘッダーファイルにありません |
Rule 3-3-2 | 必要(Required) |
MISRA.FUNC.STATIC.REDECL 関数またはオブジェクトの再宣言に 'static' 修飾子がありません |
Rule 3-4-1 | 必要(Required) |
MISRA.VAR.MIN.VIS 名前の可視性が高すぎます |
Rule 3-9-1 | 必要(Required) |
MISRA.OBJ.TYPE.IDENT 型がその他の宣言の型と一致していません |
Rule 3-9-2 | 推奨(Advisory) |
MISRA.BUILTIN_NUMERIC 組み込み数値型が使用されています |
Rule 3-9-3 | 必要(Required) |
MISRA.FLOAT.BIT.REPR 浮動小数点値のビット操作結果はストレージのレイアウトによって変わります |
Rule 4-5-1 | 必要(Required) |
MISRA.LOGIC.OPERATOR.NOT_BOOL 論理演算ではない演算子のオペランドが実質的にはブール値です |
Rule 4-5-2 | 必要(Required) |
MISRA.ENUM.OPERAND 列挙型の式が代数コンテキストで使用されています |
Rule 4-5-3 | 必要(Required) |
MISRA.CHAR.OPERAND 型 'char' または 'wchar_t' の式が文字以外のオペランドで使用されています |
Rule 4-10-1 | 必要(Required) |
MISRA.LITERAL.NULL.INT NULL が整数値として使用されています |
Rule 4-10-2 | 必要(Required) |
MISRA.LITERAL.NULL.PTR リテラルのゼロが NULLポインタ定数として使用されています |
Rule 5-0-1 | 必要(Required) |
PORTING.VAR.EFFECTS ある使用法が副次的な影響を受ける式で変数が 2 回使用されています |
Rule 5-0-2 | 推奨(Advisory) |
MISRA.EXPR.PARENS.INSUFFICIENT 式の演算子優先規則に制限された依存性が必要です MISRA.EXPR.PARENS.REDUNDANT 式の演算子優先規則に制限された依存性が必要です |
Rule 5-0-3 | 必要(Required) |
MISRA.CVALUE.IMPL.CAST.CPP 暗黙の型変換で符号、型サイズ、型の違いにより情報の損失を起こす記述があります。 |
Rule 5-0-4 | 必要(Required) |
MISRA.CONV.INT.SIGN 暗黙的な整数変換により符号が変わります |
Rule 5-0-5 | 必要(Required) |
MISRA.CONV.FLOAT 暗黙的な浮動小数点変換です |
Rule 5-0-6 | 必要(Required) |
MISRA.CONV.NUM.NARROWER 狭いタイプへの暗黙的な数値変換です |
Rule 5-0-7 | 必要(Required) |
MISRA.CAST.FLOAT_INT 整数型への浮動小数点式のキャスト MISRA.CAST.INT_FLOAT 浮動小数点タイプへの複合式のキャスト |
Rule 5-0-8 | 必要(Required) |
MISRA.CAST.FLOAT.WIDER より広い浮動小数点タイプへの浮動小数点式のキャスト MISRA.CAST.INT.WIDER より広い整数型への複合式のキャスト |
Rule 5-0-9 | 必要(Required) |
MISRA.CAST.INT.SIGN 自明ではない複合式が別の符号を持つ型にキャストされています |
Rule 5-0-10 | 必要(Required) |
MISRA.CAST.UNSIGNED_BITS unsigned char または short でのビット演算の結果は元の型にキャストできません |
Rule 5-0-11 | 必要(Required) |
MISRA.CHAR.NOT_CHARACTER 文字でない値に 'char' が使用されています |
Rule 5-0-12 | 必要(Required) |
MISRA.SIGNED_CHAR.NOT_NUMERIC 数値でない値に 'signed char' または 'unsigned char' が使用されています |
Rule 5-0-13 | 必要(Required) |
MISRA.STMT.COND.NOT_BOOLEAN if または loop ステートメントの条件がブール式になっていません |
Rule 5-0-14 | 必要(Required) |
MISRA.EXPR.COND.NOT_BOOLEAN 条件式の最初のオペランドがブール式ではありません |
Rule 5-0-15 | 必要(Required) |
MISRA.PTR.ARITH 代数式または配列インデックス式でポインタが使用されています |
Rule 5-0-16 | 必要(Required) |
MISRA.PTR.ARITH.NOT_SAME.2008 ポインターオペランドの計算から得られるポインターは、そのポインターオペランドと同じ配列の要素をアドレス指定します |
Rule 5-0-17 | 必要(Required) |
MISRA.PTR.SUB ポインターの減算は、同じ配列を指している場合にのみ適用されます MISRA.PTR.SUB.OBJECT ポインターの減算は、同じオブジェクトを指している場合にのみ適用されます |
Rule 5-0-18 | 必要(Required) |
MISRA.PTR.CMP.2008 比較演算子を使用したポインターの比較は、同じ配列を指していて、範囲内にある場合にのみ適用されます MISRA.PTR.CMP.OBJECT.2008 比較演算子を使用したポインターの比較は、同じオブジェクトを指しており、範囲内である場合にのみ適用されます |
Rule 5-0-19 | 必要(Required) |
MISRA.PTR.TO_PTR_TO_PTR ポインタ宣言に 2 つ以上のレベルの間接指定があります |
Rule 5-0-20 | 必要(Required) |
MISRA.BITS.OPERAND ビット演算のオペランドが別の基底型を持っています |
Rule 5-0-21 | 必要(Required) |
MISRA.BITS.NOT_UNSIGNED ビット演算のオペランドが符号なし整数ではありません MISRA.BITS.NOT_UNSIGNED.PREP ビット演算のオペランドが符号なし整数ではありません |
Rule 5-2-1 | 必要(Required) |
MISRA.LOGIC.POSTFIX 論理 'and' 式または論理 'or' 式のオペランドが後置式ではありません |
Rule 5-2-2 | 必要(Required) |
MISRA.CAST.PTR.VRCLASS 仮想基本クラスを指すポインタから派生クラスを指すポインタへのキャストにおいて、'dynamic_cast' を用いていません |
Rule 5-2-3 | 推奨(Advisory) |
MISRA.CAST.POLY.TYPE 多様性基本クラスから派生クラスへのキャストです |
Rule 5-2-4 | 必要(Required) |
MISRA.C_CAST 非 void タイプへの C スタイルのキャストです MISRA.FUNC_CAST 関数表記が明示的なコンストラクタ呼び出しとは異なるものにキャストされています |
Rule 5-2-5 | 必要(Required) |
MISRA.CAST.CONST キャスト演算により const または volatile がポインターまたは参照から除外されます。 |
Rule 5-2-6 | 必要(Required) |
MISRA.CAST.FUNC_PTR.CPP キャストにより関数ポインタがその他のポインタ型に変換されます |
Rule 5-2-7 | 必要(Required) |
MISRA.CAST.PTR.UNRELATED ポインタ型のオブジェクトを関連のない型にキャストしています |
Rule 5-2-8 | 必要(Required) |
MISRA.CAST.INT_TO_PTR 整数型または void を指すポインタを持つオブジェクトがポインタ型にキャストされています |
Rule 5-2-9 | 推奨(Advisory) |
MISRA.CAST.PTR_TO_INT ポインタと整数型間のキャスト |
Rule 5-2-10 | 推奨(Advisory) |
MISRA.INCR_DECR.OTHER 増分または減分の演算子がその他の演算子と混合して式で使用されています |
Rule 5-2-11 | 必要(Required) |
MISRA.BIN_OP.OVERLOAD カンマ、|| または && 演算子が多重定義されています |
Rule 5-2-12 | 必要(Required) |
MISRA.FUNC.ARRAY.PARAMS 配列タイプの関数引数がポインタに減退しています |
Rule 5-3-1 | 必要(Required) |
MISRA.LOGIC.NOT_BOOL 論理演算のオペランドがブール値ではありません |
Rule 5-3-2 | 必要(Required) |
MISRA.UMINUS.UNSIGNED 単項マイナス演算子が符号なしオペランドに対して使用されています。 |
Rule 5-3-3 | 必要(Required) |
MISRA.UN_OP.OVERLOAD 単項の & 演算子が多重定義されています |
Rule 5-3-4 | 必要(Required) |
MISRA.SIZEOF.SIDE_EFFECT sizeof のオペランドに副作用があります |
Rule 5-8-1 | 必要(Required) |
MISRA.SHIFT.RANGE シフト演算子の右側のオペランドは範囲外 (左側のオペランドの最大ビット長以上か、または負) です |
Rule 5-14-1 | 必要(Required) |
MISRA.LOGIC.SIDEEFF 論理 'and' 式または論理 'or' 式の右側のオペランドは副作用があります |
Rule 5-17-1 | 必要(Required) | |
Rule 5-18-1 | 必要(Required) |
MISRA.COMMA カンマ演算子が使用されています |
Rule 5-19-1 | 推奨(Advisory) |
MISRA.COMP.WRAPAROUND 条件内でラップアラウンドしています MISRA.ELIF.WRAPAROUND #elif ディレクティブでラップアラウンドします MISRA.IF.WRAPAROUND #if ディレクティブでラップアラウンドします NUM.OVERFLOW.DF 起こり得る数値のオーバーフローまたはラップアラウンド |
Rule 6-2-1 | 必要(Required) |
MISRA.ASSIGN.COND 条件内で代入演算子が使用されています MISRA.ASSIGN.SUBEXPR 代入演算子は条件外の部分式に使用されています |
Rule 6-2-2 | 必要(Required) |
MISRA.FLOAT_EQUAL 浮動小数点式のイコールがテストされています |
Rule 6-2-3 | 必要(Required) |
MISRA.NULL.STMT 行上に NULL ステートメント以外のものがあるか、またはコメントが不適切な場所に記述されています |
Rule 6-3-1 | 必要(Required) |
MISRA.STMT.NO_COMPOUND switch、while、do/while または for ステートメントのボディが複合ステートメントではありません |
Rule 6-4-1 | 必要(Required) |
MISRA.IF.NO_COMPOUND if/else ステートメントのボディが複合ステートメントではありません |
Rule 6-4-2 | 必要(Required) |
MISRA.IF.NO_ELSE if/else-if ステートメントのチェインが else で終了していないか、または空の else 句で終了しています |
Rule 6-4-3 | 必要(Required) |
MISRA.SWITCH.NOT_WELL_FORMED switch ステートメントの形式が不適切です |
Rule 6-4-4 | 必要(Required) |
MISRA.SWITCH.LABEL switch のラベルが switch ボディ内の入れ子複合ステートメント内に置かれています |
Rule 6-4-5 | 必要(Required) |
MISRA.SWITCH.NO_BREAK switch 句の最後に break ステートメントまたは throw ステートメントがありません |
Rule 6-4-6 | 必要(Required) |
MISRA.SWITCH.NODEFAULT switch ステートメントの最後に default 句がありません |
Rule 6-4-7 | 必要(Required) |
MISRA.SWITCH.BOOL switch ステートメントの条件がブール式です |
Rule 6-4-8 | 必要(Required) |
MISRA.SWITCH.NO_CASE switch ステートメントに case 句がありません |
Rule 6-5-1 | 必要(Required) |
MISRA.FOR.COUNTER.FLT for ループのカウンターが浮動小数点タイプです MISRA.FOR.COUNTER.MANY for ループのカウンターが多すぎます |
Rule 6-5-2 | 必要(Required) |
MISRA.FOR.COND.EQ ループカウンターに対して++ 演算子または -- 演算子を使用していませんが、ループカウンターがイコールかどうかで判定しています |
Rule 6-5-3 | 必要(Required) |
MISRA.FOR.COND.CHANGE for ループのカウンターがループ条件セクション内で変更されています MISRA.FOR.STMT.CHANGE for ループのカウンターがループステートメント内で変更されています |
Rule 6-5-4 | 必要(Required) |
MISRA.FOR.INCR for ループのカウンターが不適切な方法で変更されています |
Rule 6-5-5 | 必要(Required) |
MISRA.FOR.LOOP_CONTROL.CHANGE.COND for ループの条件セクションでループ制御変数が変更されています MISRA.FOR.LOOP_CONTROL.CHANGE.EXPR for ループの式セクションでループ制御変数が変更されています |
Rule 6-5-6 | 必要(Required) |
MISRA.FOR.LOOP_CONTROL.NOT_BOOLEAN ループ制御変数がブール値ではありません |
Rule 6-6-1 | 必要(Required) |
MISRA.GOTO.NESTED 入れ子複合ステートメント内で宣言されたラベルに goto しています |
Rule 6-6-2 | 必要(Required) |
MISRA.GOTO.AFTER.LABEL goto が制約なしで使用されています |
Rule 6-6-3 | 必要(Required) |
MISRA.CONTINUE.ILL continue ステートメントが不適切な形式の for ループで使用されています |
Rule 6-6-4 | 必要(Required) |
MISRA.ITER.ONETERM 反復ステートメントに複数の break または for ループ終端への複数の goto があります |
Rule 6-6-5 | 必要(Required) |
MISRA.RETURN.NOT_LAST 関数内で return が最後のステートメントになっていません |
Rule 7-1-1 | 必要(Required) |
MISRA.VAR.NEEDS.CONST 変数は変更されませんが、const 修飾子なしで宣言されています |
Rule 7-1-2 | 必要(Required) |
MISRA.PPARAM.NEEDS.CONST ポインタパラメーターを使用しないでアドレスされたオブジェクトを変更していますが、const を指すポインタとして宣言されていません |
Rule 7-2-1 | 必要(Required) | |
Rule 7-3-1 | 必要(Required) |
MISRA.NS.GLOBAL グローバル名前空間で関数、変数、または型が宣言されています MISRA.NS.GLOBAL.USING グローバル名前空間でのディレクティブまたは宣言の使用 |
Rule 7-3-2 | 必要(Required) |
MISRA.NS.MAIN 'main' の名前の付いた非グローバル関数が定義されています |
Rule 7-3-3 | 必要(Required) |
MISRA.NAMESPACE.UNMD ヘッダーファイルに名前のない名前空間があります |
Rule 7-3-4 | 必要(Required) |
MISRA.NS.USING_DIR ディレクティブを使用しています |
Rule 7-3-5 | 必要(Required) |
MISRA.NS.USING_DECL 同じ名前空間での識別子に対する複数宣言はその識別子の using 宣言にまたがってはいけません |
Rule 7-3-6 | 必要(Required) |
MISRA.NAMESPACE.DECL ヘッダーファイルに using 宣言があります MISRA.NAMESPACE.DIR ヘッダーファイルに using ディレクティブがあります MISRA.NS.USING.HEADER ヘッダーファイルでディレクティブまたは宣言が使用されています |
Rule 7-4-2 | 必要(Required) |
MISRA.PRAGMA.ASM 不正なアセンブラ命令です |
Rule 7-4-3 | 必要(Required) |
MISRA.ASM.ENCAPS アセンブリ言語が分離されていません |
Rule 7-5-1 | 必要(Required) |
LOCRET.RET 関数がローカル変数のアドレスを返しています |
Rule 7-5-2 | 必要(Required) |
LOCRET.ARG 関数がローカル変数のアドレスを返しています LOCRET.GLOB 関数がローカル変数のアドレスを返しています |
Rule 7-5-3 | 必要(Required) |
MISRA.ADDR.REF.PARAM 関数が参照渡しパラメーターへの参照を返しています MISRA.ADDR.REF.PARAM.PTR 関数が参照渡しパラメーターのアドレスを返しています |
Rule 7-5-4 | 推奨(Advisory) |
MISRA.FUNC.RECUR 再帰関数 |
Rule 8-0-1 | 必要(Required) |
MISRA.DECL.MANY_DCLS 1 つの宣言に複数の宣言子があります |
Rule 8-3-1 | 必要(Required) |
MISRA.SAME.DEFPARAMS オーバーライドする仮想関数とオーバーライドされる関数が異なるデフォルト引数を持っています |
Rule 8-4-1 | 必要(Required) |
MISRA.FUNC.VARARG 関数が可変数の引数を持っています |
Rule 8-4-2 | 必要(Required) |
MISRA.FUNC.PARAMS.IDENT 関数の宣言と定義で使用される識別子が一致していません |
Rule 8-4-3 | 必要(Required) |
FUNCRET.GEN 非 void 関数に戻り値がありません |
Rule 8-4-4 | 必要(Required) |
MISRA.FUNC.ADDR & 演算子なしで関数のアドレスが使用されています |
Rule 8-5-1 | 必要(Required) |
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 未初期化の変数 |
Rule 8-5-2 | 必要(Required) |
MISRA.INIT.BRACES 不適切な初期化子が配置を固定しています |
Rule 8-5-3 | 必要(Required) |
MISRA.ENUM.INIT 1 番目以外の列挙子が明示的に初期化されていますが、一部の要素が明示的に初期化されていません |
Rule 9-3-1 | 必要(Required) |
MISRA.CONST.RET.NON_CONST 定数のメンバー関数が非定数のポインタをメンバー変数に返しています |
Rule 9-3-2 | 必要(Required) |
MISRA.RET.REF.NON_CONST メンバー関数が非定数のハンドルをメンバー変数に返しています |
Rule 9-3-3 | 必要(Required) |
MISRA.MEMB.NON_CONST 非定数のメンバー関数はどのメンバー変数も変更しません MISRA.MEMB.NON_STATIC 非スタティックメンバー関数は同じクラスのその他の非スタティックメンバーを使用しません |
Rule 9-5-1 | 必要(Required) |
MISRA.UNION 和集合が使用されています |
Rule 9-6-2 | 必要(Required) |
MISRA.BITFIELD.TYPE.CPP ビットフィールドの型は、ブール、符号付き/符号なし整数のいずれでもありません |
Rule 9-6-3 | 必要(Required) |
MISRA.FIELD.BIT.ENUM ビットフィールドが列挙型を持っています |
Rule 9-6-4 | 必要(Required) |
MISRA.BITFIELD.SIGNED 名前付きの符号付きビットフィールドの長さが 2 未満です |
Rule 10-1-1 | 推奨(Advisory) |
MISRA.DERIVE.VIRTUAL クラスが仮想基本クラスから派生しています |
Rule 10-1-2 | 必要(Required) |
MISRA.VIRTUAL.BASE.DIAMOND 基本クラスがダイヤモンド階層以外で仮想として使用されています |
Rule 10-1-3 | 必要(Required) |
MISRA.BASE.VIRTUAL.NOTVIRTUAL 基本クラスが継承階層で仮想および非仮想の両方で使用されています |
Rule 10-2-1 | 推奨(Advisory) |
MISRA.BASE.IDS.UNIQUE 継承階層でメンバー名が 2 回使用されています |
Rule 10-3-1 | 必要(Required) |
MISRA.BASE.MANYDEFS オーバーライドする関数とオーバーライドされる仮想関数の両方で定義があります |
Rule 10-3-2 | 必要(Required) |
MISRA.VIRTUAL.NOVIRTUAL オーバーライドする仮想関数が 'virtual' キーワードなしで宣言されています |
Rule 10-3-3 | 必要(Required) |
MISRA.PUREVIRT.OVRD 純粋な仮想関数が純粋でない仮想関数をオーバーライドしています |
Rule 11-0-1 | 必要(Required) |
MISRA.MEMB.NOT_PRIVATE 非 POD クラスのメンバー変数がプライベートではありません |
Rule 12-1-1 | 必要(Required) |
MISRA.CTOR.DYNAMIC オブジェクトの動的タイプがそのコンストラクタのボディから使用されています MISRA.DTOR.DYNAMIC オブジェクトの動的タイプがそのデストラクタのボディから使用されています |
Rule 12-1-2 | 推奨(Advisory) |
MISRA.CTOR.BASE コンストラクタがその基本クラスのコンストラクタを明示的に呼び出していません |
Rule 12-1-3 | 必要(Required) |
MISRA.CTOR.NOT_EXPLICIT 組み込み型の引数を持つコンストラクタが '明示的に' 宣言されていません |
Rule 12-8-1 | 必要(Required) | |
Rule 12-8-2 | 必要(Required) |
MISRA.COPYASSIGN.ABSTRACT コピー代入は保護するか、または抽象クラスでプライベートにして宣言する必要があります |
Rule 14-5-1 | 必要(Required) |
MISRA.GENFU.ASSOC 汎用関数が関連付けられた名前空間で宣言されています |
Rule 14-5-2 | 必要(Required) |
MISRA.COPY.CSTR.TMPL クラスには、単一の汎用パラメーターを持つテンプレートコンストラクタがありますが、コピーコンストラクタが定義されていません |
Rule 14-5-3 | 必要(Required) |
MISRA.COPYASSIGN.TMPL コピー代入演算子は、単一の汎用パラメーターを持つテンプレートコピー代入演算子をクラスに持たせるときに定義する必要があります |
Rule 14-6-1 | 必要(Required) |
MISRA.TEMPLMEM.NOQUAL インスタンス化されたテンプレートで、依存基本クラスで宣言されたメンバーが修飾子または 'this' なしで使用されています |
Rule 14-6-2 | 必要(Required) |
MISRA.FUNC.DECL.AFTERUSE テンプレートをインスタンス化するときに多重定義解決によって選択される関数が、その使用後に定義されています |
Rule 14-7-1 | 必要(Required) | |
Rule 14-7-2 | 必要(Required) |
MISRA.SPEC.ILL テンプレートの明示的なインスタンス化により、コードの形式が損なわれます |
Rule 14-7-3 | 必要(Required) |
MISRA.SPEC.SAMEFILE テンプレート特殊化とその基本テンプレートが別々のファイルで宣言されています |
Rule 14-8-1 | 必要(Required) |
MISRA.FUNC.SPEC.OVRLD 関数呼び出し用の実行可能関数に多重定義されたテンプレートとその明示的な特殊化が含まれています |
Rule 14-8-2 | 推奨(Advisory) |
MISRA.FUNC.SPEC.NOTSPEC 関数呼び出し用の実行可能関数に特殊化と非特殊化の両方が含まれています |
Rule 15-0-2 | 推奨(Advisory) |
MISRA.THROW.PTR 例外オブジェクトがポインタになっています |
Rule 15-0-3 | 必要(Required) |
MISRA.TRY.JUMP goto ステートメントまたは switch ステートメントでコントロールを try ブロックに転送できます |
Rule 15-1-1 | 必要(Required) | |
Rule 15-1-2 | 必要(Required) |
MISRA.THROW.NULL NULL が明示的にスローされています |
Rule 15-1-3 | 必要(Required) |
MISRA.THROW.EMPTY 空のスロー式が catch ブロックに属していません |
Rule 15-3-1 | 必要(Required) | |
Rule 15-3-2 | 推奨(Advisory) |
MISRA.CATCH.ALL try-catch ブロックに省略記号例外ハンドラーがありません |
Rule 15-3-3 | 必要(Required) |
MISRA.CTOR.TRY.NON_STATIC コンストラクタまたはデストラクタの関数 try-catch ブロックが非スタティックなメンバーを参照しています |
Rule 15-3-4 | 必要(Required) | |
Rule 15-3-5 | 必要(Required) |
MISRA.CATCH.BY_VALUE クラス タイプの例外オブジェクトが値によってキャッチされています |
Rule 15-3-6 | 必要(Required) |
MISRA.CATCH.WRONGORD try-catch ブロックで基本例外クラスのハンドラーが派生例外クラスのハンドラーよりも先に置かれています |
Rule 15-3-7 | 必要(Required) |
MISRA.CATCH.NOALL 省略記号例外ハンドラーが try-catch ブロックの最後に置かれていません |
Rule 15-4-1 | 必要(Required) |
MISRA.DECL.EXCPT.SPEC 異なる例外指定で関数が宣言されています |
Rule 15-5-1 | 必要(Required) |
MISRA.DTOR.THROW デストラクタにスローします |
Rule 15-5-2 | 必要(Required) | |
Rule 15-5-3 | 必要(Required) |
MISRA.TERMINATE terminate() 関数が明示的に呼び出されています |
Rule 16-0-1 | 必要(Required) |
MISRA.INCL.INSIDE include ディレクティブの前にプリプロセッサ出力トークンがあります |
Rule 16-0-2 | 必要(Required) |
MISRA.DEFINE.NOTGLOBAL グローバルレベル以外で定義されています MISRA.UNDEF.NOTGLOBAL グローバルレベル以外で定義されていません |
Rule 16-0-3 | 必要(Required) |
MISRA.UNDEF 定義のない使用です |
Rule 16-0-4 | 必要(Required) |
MISRA.DEFINE.FUNC マクロが関数のように定義されています |
Rule 16-0-5 | 必要(Required) |
MISRA.EXPANSION.DIRECTIVE マクロの引数内にディレクティブのようなトークンがあります |
Rule 16-0-6 | 必要(Required) |
MISRA.DEFINE.NOPARS マクロパラメーターに括弧がありません |
Rule 16-0-7 | 必要(Required) |
MISRA.ELIF.UNDEF #elif ディレクティブでマクロが定義されていません MISRA.IF.UNDEF #if ディレクティブでマクロが定義されていません |
Rule 16-0-8 | 必要(Required) |
MISRA.USE.UNKNOWNDIR 不明なプリプロセッサディレクティブが使用されています |
Rule 16-1-1 | 必要(Required) |
MISRA.ELIF.DEFINED #elif ディレクティブで不正な 'defined' が使用されています MISRA.IF.DEFINED #if ディレクティブで不正な 'defined' が使用されています |
Rule 16-1-2 | 必要(Required) |
MISRA.ELIF.OTHERFILE 不適切なファイルでの #elif MISRA.ELSE.OTHERFILE 不適切なファイルでの #else MISRA.ENDIF.OTHERFILE 不適切なファイルでの #endif |
Rule 16-2-1 | 必要(Required) |
MISRA.USE.DEFINE マクロが保護されずに定義されています MISRA.USE.EXPANSION マクロの展開 MISRA.USE.WRONGDIR 不適切なプリプロセッサディレクティブです |
Rule 16-2-2 | 必要(Required) |
MISRA.DEFINE.BADEXP.CPP C++ ソースで不適切なマクロ展開です |
Rule 16-2-3 | 必要(Required) |
MISRA.INCGUARD インクルードガードが入力されていません |
Rule 16-2-4 | 必要(Required) |
MISRA.INCL.SYMS ヘッダーファイル名に非標準文字が使用されています |
Rule 16-2-5 | 推奨(Advisory) |
MISRA.INCL.SYMS ヘッダーファイル名に非標準文字が使用されています |
Rule 16-2-6 | 必要(Required) |
MISRA.INCL.BAD 非標準の include ディレクティブです |
Rule 16-3-1 | 必要(Required) |
MISRA.DEFINE.SHARP.MANY マクロ定義に # 演算子または ## 演算子がいくつか使用されています |
Rule 16-3-2 | 推奨(Advisory) |
MISRA.DEFINE.SHARP マクロ定義に # 演算子または ## 演算子が使用されています |
Rule 16-6-1 |
MISRA.PRAGMA ドキュメントにない pragma ディレクティブです |
|
Rule 17-0-1 | 必要(Required) |
MISRA.DEFINE.WRONGNAME 標準ライブラリからの名前がマクロ名に使用されています MISRA.DEFINE.WRONGNAME.UNDERSCORE 予約名がマクロ名に使用されています |
Rule 17-0-2 | 必要(Required) |
MISRA.UNDEF.WRONGNAME 標準ライブラリからの名前が定義されていません MISRA.UNDEF.WRONGNAME.UNDERSCORE 予約名が定義されていません |
Rule 17-0-3 | 必要(Required) |
MISRA.STDLIB.WRONGNAME 標準ライブラリのマクロ、オブジェクトまたは関数の名前が再使用されています MISRA.STDLIB.WRONGNAME.UNDERSCORE 予約名が言語エンティティの名前に使用されています |
Rule 17-0-5 | 必要(Required) |
MISRA.EXPANSION.UNSAFE 安全ではないマクロの使用 MISRA.STDLIB.LONGJMP setjmp マクロまたは longjmp 関数の使用 |
Rule 18-0-1 | 必要(Required) |
MISRA.EXPANSION.UNSAFE 安全ではないマクロの使用 |
Rule 18-0-2 | 必要(Required) |
MISRA.INCL.UNSAFE 安全でないヘッダーのインクルード MISRA.STDLIB.ATOI ライブラリ stdlib.h から 'atof'、'atoi' または 'atol' が使用されています |
Rule 18-0-3 | 必要(Required) |
MISRA.STDLIB.ABORT ライブラリ stdlib.h から 'abort'、'exit'、'getenv' または 'system' が使用されています |
Rule 18-0-4 | 必要(Required) |
MISRA.INCL.UNSAFE 安全でないヘッダーのインクルード MISRA.STDLIB.TIME ライブラリ time.h の時間処理関数の使用 |
Rule 18-0-5 | 必要(Required) |
MISRA.STDLIB.CSTRING 'cstring' ライブラリからの関数が使用されています MISRA.STDLIB.CSTRING.MACRO 'cstring' ライブラリからのマクロが使用されています |
Rule 18-2-1 | 必要(Required) |
MISRA.EXPANSION.UNSAFE 安全ではないマクロの使用 |
Rule 18-4-1 | 必要(Required) |
MISRA.STDLIB.MEMORY 動的ヒープメモリ割り当ての使用 |
Rule 18-7-1 | 必要(Required) |
MISRA.EXPANSION.UNSAFE 安全ではないマクロの使用 MISRA.INCL.UNSAFE 安全でないヘッダーのインクルード MISRA.STDLIB.SIGNAL signal.h の信号処理装置の使用 |
Rule 19-3-1 | 必要(Required) |
MISRA.EXPANSION.UNSAFE 安全ではないマクロの使用 MISRA.STDLIB.ERRNO エラーインジケーター 'errno' が使用されています |
Rule 27-0-1 | 必要(Required) |
MISRA.INCL.UNSAFE 安全でないヘッダーのインクルード MISRA.STDLIB.STDIO プロダクションコードで入力/出力ライブラリ stdio.h が使用されています |
サポートのサマリー
サポート対象合計: 196
静的に検証不可能な規則の合計: 12
サポートされていない静的に検証可能な規則の合計: 20
MISRA C++ の対象範囲: 91% (静的に検証不可能な規則を除く)
"MISRA"、"MISRA C" および、"MISRA C++" は、The MISRA Consortium Limited の登録商標です。