EN JP CN

Klocwork チェッカーにマッピングされた MISRA-C++ 2008 規則

Klocwork チェッカーにマッピングされた MISRA-C++ 2008 規則
MISRA C++ 規則Klocwork チェッカー コードと説明
0-1-1

UNREACH.GEN 到達不能コード

UNREACH.RETURN 到達不能な戻り値

0-1-2

CWARN.NOEFFECT.UCMP.G 符号なし値と 0 を比較すると、常に true になります

CWARN.NOEFFECT.UCMP.GE.MACRO マクロ内で符号なし値と 0 を比較すると、常に true になります

CWARN.NOEFFECT.UCMP.LT 符号なし値と 0 を比較すると、常に false になります

CWARN.NOEFFECT.UCMP.LT.MACRO マクロ内で符号なし値と 0 を比較すると、常に false になります

0-1-3

LV_UNUSED.GEN ローカル変数は使用されません

VA_UNUSED.GEN 割り当て後、値は使用されません

VA_UNUSED.INIT 初期化後、値は使用されません

0-1-4未サポート - サポートの予定は現在ありません
0-1-5未サポート - サポートの予定は現在ありません
0-1-6未サポート - サポートの予定は現在ありません
0-1-7MISRA.FUNC.UNUSEDRET 非 void 関数の戻り値が使用されていません
0-1-8未サポート - サポートの予定は現在ありません
0-1-9

LV_UNUSED.GEN ローカル変数は使用されません

VA_UNUSED.GEN 割り当て後、値は使用されません

VA_UNUSED.INIT 初期化後、値は使用されません

0-1-10MISRA.FUNC.UNUSED 非 void 関数の戻り値が使用されていません
0-1-11

MISRA.FUNC.UNUSEDPAR 非仮想関数の仮パラメーターが使用されていません

MISRA.FUNC.UNUSEDPAR.UNNAMED 非仮想関数の名前のない仮パラメーターが使用されていません

0-1-12MISRA.FUNC.VIRTUAL.UNUSEDPAR 仮想関数セットの仮パラメーターが使用されていません
0-2-1MISRA.ASSIGN.OVERLAP オブジェクトをオーバーラップするオブジェクトに割り当てないでください
0-3-1未サポート - 静的に検証できません
0-3-2未サポート - サポートの予定は現在ありません
0-4-1未サポート - 静的に検証できません
0-4-2未サポート - 静的に検証できません
0-4-3未サポート - 静的に検証できません
1-0-1未サポート - 静的に検証できません
1-0-2未サポート - 静的に検証できません
1-0-3未サポート - 静的に検証できません
2-2-1未サポート - 静的に検証できません
2-3-1MISRA.CHAR.TRIGRAPH 3 トライグラフの使用
2-5-1MISRA.CHAR.DIGRAPH ダイグラフの使用
2-7-1MISRA.TOKEN.BADCOM コメントに不適切な文字列があります
2-7-2未サポート - 静的に検証できません
2-7-3未サポート - 静的に検証できません
2-10-1未サポート - サポートの予定は現在ありません
2-10-2MISRA.VAR.HIDDEN 変数宣言によって、上位スコープでの宣言が隠されています
2-10-3MISRA.TYPEDEF.NOT_UNIQUE typedef の名前が固有ではありません
2-10-4MISRA.CT.UNIQUE.ID 識別子がタイプ名と不整合です
2-10-5MISRA.VAR.UNIQUE.STATIC 静的ストレージを使った識別子が、その他の識別子と不整合です
2-10-6MISRA.TYPE.NAMECLASH 型および変数/関数が同じ名前です
2-13-1MISRA.TOKEN.WRONGESC リテラルに不正なエスケープ シーケンスがあります
2-13-2

MISRA.TOKEN.OCTAL.ESCAPE 8 進数のエスケープ シーケンスの使用

MISRA.TOKEN.OCTAL.INT 8 進数の整数定数を使用しています

2-13-3MISRA.LITERAL.UNSIGNED.SUFFIX 'U' サフィックスの付かない符号なし整数リテラルです
2-13-4MISRA.LITERAL.SUFFIX.CASE リテラルの添え字は小文字です
2-13-5MISRA.STRINGS.CONCAT ナロー文字列リテラルとワイド文字列リテラルが連結されています
3-1-1

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

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

3-1-2MISRA.DECL.FUNC_LOCAL 関数がローカルで宣言されています
3-1-3MISRA.DECL.ARRAY_SIZE 配列の宣言でサイズが不明です
3-2-1MISRA.OBJ.TYPE.COMPAT 型がその他の宣言の型と互換性がありません
3-2-2未サポート - サポートの予定は現在ありません
3-2-3未サポート - サポートの予定は現在ありません
3-2-4未サポート - サポートの予定は現在ありません
3-3-1MISRA.LINKAGE.EXTERN 外部リンクを持つ宣言がヘッダーファイルにありません
3-3-2MISRA.FUNC.STATIC.REDECL 関数またはオブジェクトの再宣言に 'static' 修飾子がありません
3-4-1MISRA.VAR.MIN.VIS 名前の表示が広すぎます
3-9-1MISRA.OBJ.TYPE.IDENT 型がその他の宣言の型と一致していません
3-9-2MISRA.BUILTIN_NUMERIC 組み込み数値型が使用されています
3-9-3MISRA.FLOAT.BIT.REPR 浮動小数点値のビット操作結果はストレージのレイアウトによって変わります
4-5-1MISRA.LOGIC.OPERATOR.NOT_BOOL 論理演算ではない演算子のオペランドが実質的にはブール値です
4-5-2MISRA.ENUM.OPERAND 列挙型の式が代数コンテキストで使用されています
4-5-3MISRA.CHAR.OPERAND 型 'char' または 'wchar_t' の式が文字以外のオペランドで使用されています
4-10-1MISRA.LITERAL.NULL.INT リテラルのゼロが null ポインター定数として使用されています
4-10-2MISRA.LITERAL.NULL.PTR NULL が整数値として使用されています
5-0-1

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

5-0-2MISRA.EXPR.PARENS 式の演算子優先規則に制限された依存性が必要です
5-0-3MISRA.CVALUE.IMPL.CAST.CPP 式の値を暗黙的に別の型に変換しないでください
5-0-4MISRA.CONV.INT.SIGN 暗黙的な整数変換により符号が変わります
5-0-5MISRA.CONV.FLOAT 暗黙的な浮動小数点変換です
5-0-6MISRA.CONV.NUM.NARROWER より幅の狭い型への暗黙的な数値変換です
5-0-7

MISRA.CAST.FLOAT_INT 浮動 - 整数キャストに自明ではない数値式があります

浮動小数点型への整数式の MISRA.CAST.INT_FLOAT キャスト

5-0-8

MISRA.CAST.FLOAT.WIDER より幅広い型への浮動 - 整数キャストに自明ではない数値式があります

MISRA.CAST.INT.WIDER 明示的な整数または浮動小数点変換によって cvalue 式の基底型のサイズを大きくしないでください

5-0-9MISRA.CAST.INT.SIGN 自明ではない整数式が別の符号を持つ型にキャストされています
5-0-10MISRA.CAST.UNSIGNED_BITS unsigned char または short でのビット演算の結果が、元の型にキャスト バックされていません
5-0-11MISRA.CHAR.NOT_CHARACTER 文字でない値に 'char' が使用されています
5-0-12MISRA.SIGNED_CHAR.NOT_NUMERIC 数値でない値に 'signed char' または 'unsigned char' が使用されています
5-0-13MISRA.STMT.COND.NOT_BOOLEAN if または loop ステートメントの条件がブール式になっていません
5-0-14MISRA.EXPR.COND.NOT_BOOLEAN 条件式の最初のオペランドがブール式ではありません
5-0-15MISRA.PTR.ARITH 代数式または配列インデックス式でポインターが使用されています
5-0-16未サポート - サポートの予定は現在ありません
5-0-17未サポート - サポートの予定は現在ありません
5-0-18未サポート - サポートの予定は現在ありません
5-0-19MISRA.PTR.TO_PTR_TO_PTR ポインター宣言に 2 つ以上のレベルの間接指定があります
5-0-20MISRA.BITS.OPERAND ビット演算のオペランドが別の基底型を持っています
5-0-21

MISRA.BITS.NOT_UNSIGNED ビット演算のオペランドが符号なし整数ではありません

MISRA.BITS.NOT_UNSIGNED.PREP #if または #elif プリプロセッサディレクティブのビット演算のオペランドが、符号なし整数ではありません

5-2-1MISRA.LOGIC.POSTFIX 論理 'and' 式または論理 'or' 式のオペランドが後置式ではありません
5-2-2MISRA.CAST.PTR.VRCLASS 仮想基本クラスを指すポインターから派生クラスを指すポインターへのキャストでは、'dynamic_cast' を使用しません
5-2-3MISRA.CAST.POLY.TYPE 多形基本クラスから派生クラスへのキャストです
5-2-4

非 void 型への MISRA.C_CAST C スタイルのキャストです

仮想関数セットの MISRA.FUNC_CAST 仮パラメーターが使用されていません

5-2-5MISRA.CAST.CONST キャスト演算により定数または可変修飾子がポインターまたは参照から除外されます
5-2-6MISRA.CAST.FUNC_PTR.CPP キャストにより関数ポインターがその他のポインター型に変換されます
5-2-7MISRA.CAST.PTR.UNRELATED ポインター型のオブジェクトが関連のない型にキャストされています
5-2-8MISRA.CAST.INT_TO_PTR 整数型または void を指すポインターを持つオブジェクトがポインター型にキャストされています
5-2-9MISRA.CAST.PTR_TO_INT キャストによりポインターが整数型に変換されます
5-2-10MISRA.INCR_DECR.OTHER 増分または減分の演算子がその他の演算子と混合して式で使用されています
5-2-11MISRA.BIN_OP.OVERLOAD カンマ、論理演算子 OR、または論理演算子 AND が多重定義されています
5-2-12MISRA.FUNC.ARRAY.PARAMS 配列タイプの関数引数がポインターに減退しています
5-3-1MISRA.LOGIC.NOT_BOOL 論理演算のオペランドがブール値ではありません
5-3-2MISRA.UMINUS.UNSIGNED 単項マイナスのオペランドに符号がありません
5-3-3MISRA.UN_OP.OVERLOAD 単項の & 演算子が多重定義されています
5-3-4MISRA.SIZEOF.SIDE_EFFECT sizeof のオペランドに副作用があります
5-8-1MISRA.SHIFT.RANGE シフト演算子の右側のオペランドは範囲外 (左側のオペランドの最大ビット長以上か、または負) です
5-14-1MISRA.LOGIC.SIDEEFF 論理 'and' 式または論理 'or' 式の右側のオペランドは副作用があります
5-17-1未サポート - 静的に検証できません
5-18-1MISRA.COMMA カンマ演算子が使用されています
5-19-1

MISRA.IF.WRAPAROUND #if ディレクティブでラップアラウンドします

MISRA.ELIF.WRAPAROUND #elif ディレクティブでラップアラウンドします

MISRA.COMP.WRAPAROUND 条件内でラップアラウンドしています

6-2-1

MISRA.ASSIGN.SUBEXPR 部分式で代入演算子が使用されています

MISRA.ASSIGN.COND 条件内で代入演算子が使用されています

6-2-2MISRA.FLOAT_EQUAL 浮動小数点式の同等性がテストされています
6-2-3MISRA.NULL.STMT 行に null ステートメント以外のものがあるか、またはコメントが不適切な場所に記述されています
6-3-1MISRA.STMT.NO_COMPOUND switch、while、do/while または for ステートメントのボディが複合ステートメントではありません
6-4-1MISRA.IF.NO_COMPOUND if/else ステートメントのボディが複合ステートメントではありません
6-4-2MISRA.IF.NO_ELSE if/else-if ステートメントのチェインが else で終了していません
6-4-3MISRA.SWITCH.NOT_WELL_FORMED switch ステートメントの形式が不適切です
6-4-4MISRA.SWITCH.LABEL switch のラベルが switch ボディ内の入れ子複合ステートメント内に置かれています
6-4-5MISRA.SWITCH.NO_BREAK switch 句の最後に break ステートメントまたは throw ステートメントがありません
6-4-6MISRA.SWITCH.NODEFAULT switch ステートメントの最後に default 句がありません
6-4-7MISRA.SWITCH.BOOL switch ステートメントの条件がブール式です
6-4-8MISRA.SWITCH.NO_CASE switch ステートメントに case 句がありません
6-5-1

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

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

6-5-2MISRA.FOR.COND.EQ ++ 演算または -- 演算を使用しないでループ カウンターを変更して、ループ カウンターの同等性のテストをしています
6-5-3MISRA.FOR.STMT.CHANGE for ループのカウンターが loop ステートメント内で変更されています
6-5-4MISRA.FOR.INCR for ループの増分式が標準形式 (一定ステップごとの増分/減分) ではありません
6-5-5

MISRA.FOR.LOOP_CONTROL.CHANGE.COND for ループの条件セクションでループ制御変数が変更されています

MISRA.FOR.LOOP_CONTROL.CHANGE.EXPR for ループの式セクションでループ制御変数が変更されています

6-5-6MISRA.FOR.LOOP_CONTROL.NOT_BOOLEAN ループ制御変数がブール値ではありません
6-6-1MISRA.GOTO.NESTED 入れ子複合ステートメント内で宣言されたラベルに goto しています
6-6-2MISRA.GOTO.AFTER.LABEL goto が制約なしで使用されています
6-6-3MISRA.CONTINUE.ILL continue ステートメントが不適切な形式の for ループで使用されています
6-6-4MISRA.ITER.ONETERM 反復ステートメントに、ループ終端に関するひとつ以上の break または goto があります
6-6-5MISRA.RETURN.NOT_LAST 関数内で return が最後のステートメントになっていません
7-1-1MISRA.VAR.NEEDS.CONST 変数は変更されずに、const 修飾子なしで宣言されています
7-1-2MISRA.PPARAM.NEEDS.CONST ポインター パラメーターが、アドレス指定されたオブジェクトの変更に使用されていませんが、const を指すポインターとして宣言されていません
7-2-1未サポート - サポートの予定は現在ありません
7-3-1MISRA.NS.GLOBAL グローバル名前空間で関数、変数、または型が宣言されています
7-3-2MISRA.NS.MAIN 変数、型、名前空間または 'main' の名前の付いた非グローバル関数です
7-3-3MISRA.NAMESPACE.UNMD ヘッダー ファイルに名前のない名前空間があります
7-3-4MISRA.NS.USING_DIR ディレクティブを使用しています
7-3-5MISRA.NS.USING_DECL 識別子に対する複数宣言がその識別子の using 宣言にまたがっています
7-3-6

MISRA.NAMESPACE.DECL ヘッダー ファイルに using 宣言があります

MISRA.NAMESPACE.DIR ヘッダー ファイルに using ディレクティブがあります

MISRA.NS.USING.HEADER ヘッダー ファイルでディレクティブまたは宣言が使用されています

7-4-1未サポート - 静的に検証できません
7-4-2MISRA.PRAGMA.ASM 不正なアセンブラ命令です
7-4-3MISRA.ASM.ENCAPS アセンブリ言語が分離されていません
7-5-1

LOCRET.ARG 関数によってローカル変数のアドレスが返されました

LOCRET.GLOB 関数によってローカル変数のアドレスが返されました

LOCRET.RET 関数によってローカル変数のアドレスが返されました

7-5-2

LOCRET.ARG 関数によってローカル変数のアドレスが返されました

LOCRET.GLOB 関数によってローカル変数のアドレスが返されました

LOCRET.RET 関数によってローカル変数のアドレスが返されました

7-5-3

MISRA.ADDR.REF.PARAM 参照によって渡されたパラメーターのアドレスを関数が返しています

MISRA.ADDR.REF.PARAM.PTR 参照によって渡されたパラメーターのアドレスを関数が返しています

7-5-4MISRA.FUNC.RECUR 再帰関数
8-0-1MISRA.DECL.MANY_DCLS 1 つの宣言に複数の宣言子があります
8-3-1MISRA.SAME.DEFPARAMS オーバーライドする仮想関数とオーバーライドされる関数が異なるデフォルト引数を持っています
8-4-1MISRA.FUNC.VARARG 関数に可変数の引数があります
8-4-2MISRA.FUNC.PARAMS.IDENT 関数の宣言と定義の識別子が一致していません
8-4-3

FUNCRET.GEN 非 void 関数によって値が返されません

FUNCRET.IMPLICIT 暗黙的に int を返す非 void 関数によって値が返されません

8-4-4MISRA.FUNC.ADDR & 演算子なしで関数のアドレスが使用されています
8-5-1

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 初期化されていない変数

8-5-2MISRA.INIT.BRACES 不適切な初期化子によって配置が固定されています
8-5-3MISRA.ENUM.INIT 1 番目以外の列挙子が明示的に初期化されていますが、一部の要素が明示的に初期化されていません
9-3-1MISRA.CONST.RET.NON_CONST 定数のメンバー関数によって非定数のポインターがメンバー変数に返されています
9-3-2MISRA.RET.REF.NON_CONST メンバー関数によって非定数の参照がメンバー変数に返されています
9-3-3

MISRA.MEMB.NON_CONST 非定数のメンバー関数ではどのメンバー変数も変更しません

MISRA.MEMB.NON_STATIC 非スタティック メンバー関数では同じクラスのその他の非スタティック メンバーを使用しません

9-5-1MISRA.UNION Unionが使用されています
9-6-1未サポート - 静的に検証できません
9-6-2MISRA.BITFIELD.TYPE.CPP ビットフィールドの型が bool でもなく、符号付き/符号なし整数でもありません
9-6-3MISRA.FIELD.BIT.ENUM ビットフィールドに列挙型があります
9-6-4MISRA.BITFIELD.SIGNED 符号付きビットフィールドの長さが 1 です
10-1-1MISRA.DERIVE.VIRTUAL クラスが仮想のベースから派生しています
10-1-2MISRA.VIRTUAL.BASE.DIAMOND 基本クラスがダイヤモンド階層以外で仮想として使用されています
10-1-3MISRA.BASE.VIRTUAL.NOTVIRTUAL 基本クラスが継承階層で仮想および非仮想の両方で使用されています
10-2-1MISRA.BASE.IDS.UNIQUE 継承階層でメンバー名が 2 回使用されています
10-3-1MISRA.BASE.MANYDEFS オーバーライドする関数とオーバーライドされる仮想関数の両方で定義があります
10-3-2MISRA.VIRTUAL.NOVIRTUAL オーバーライドする仮想関数が 'virtual' キーワードなしで宣言されています
10-3-3MISRA.PUREVIRT.OVRD 純粋な仮想関数によって純粋でない仮想関数がオーバーライドされています
11-0-1MISRA.MEMB.NOT_PRIVATE 非 POD クラスのメンバー変数がプライベートではありません
12-1-1

MISRA.DTOR.DYNAMIC オブジェクトの動的タイプがそのデストラクタのボディから使用されています

MISRA.CTOR.DYNAMIC オブジェクトの動的タイプがそのコンストラクタのボディから使用されています

12-1-2MISRA.CTOR.BASE コンストラクタではその基本クラスのコンストラクタを明示的に呼び出していません
12-1-3MISRA.CTOR.NOT_EXPLICIT 組み込み型の引数を持つコンストラクタが 'explicit' と宣言されていません
12-8-1未サポート - サポートの予定は現在ありません
12-8-2MISRA.COPYASSIGN.ABSTRACT コピー代入演算子が抽象クラスのパブリックとして宣言されています
14-5-1MISRA.GENFU.ASSOC 汎用関数が関連付けられた名前空間で宣言されています
14-5-2MISRA.COPY.CSTR.TMPL クラスには、単一の汎用パラメーターを持つテンプレートコンストラクタがありますが、コピーコンストラクタが定義されていません
14-5-3MISRA.COPYASSIGN.TMPL クラスには、単一の汎用パラメーターを持つテンプレートコピー代入演算子がありますが、明示的なコピー代入演算子が定義されていません
14-6-1MISRA.TEMPLMEM.NOQUAL switch ステートメントの形式が不適切です
14-6-2MISRA.FUNC.DECL.AFTERUSE テンプレートをインスタンス化するときに多重定義解決によって選択される関数が、その使用後に定義されています
14-7-1未サポート - サポートの予定は現在ありません
14-7-2MISRA.SPEC.ILL テンプレートの明示的なインスタンス化により、コードの形式が損なわれます
14-7-3MISRA.SPEC.SAMEFILE テンプレート特殊化とその基本テンプレートが別々のファイルで宣言されています
14-8-1MISRA.FUNC.SPEC.OVRLD 関数呼び出し用の実行可能関数に、多重定義されたテンプレートとその明示的な特殊化が含まれています
14-8-2MISRA.FUNC.SPEC.NOTSPEC 関数呼び出し用の実行可能関数に特殊化と非特殊化の両方が含まれています
15-0-1未サポート - 静的に検証できません
15-0-2MISRA.THROW.PTR 例外オブジェクトがポインターになっています
15-0-3MISRA.TRY.JUMP goto ステートメントまたは switch ステートメントを使ってコントロールを try ブロックに転送できます
15-1-1未サポート - サポートの予定は現在ありません
15-1-2MISRA.THROW.NULL NULL が明示的にスローされています
15-1-3MISRA.THROW.EMPTY 空のスロー式が catch ブロックに属していません
15-3-1未サポート - サポートの予定は現在ありません
15-3-2MISRA.CATCH.ALL try-catch ブロックに省略記号例外ハンドラーがありません
15-3-3MISRA.CTOR.TRY.NON_STATIC コンストラクタまたはデストラクタの関数 try-catch ブロックで、非スタティックなメンバーを参照しています
15-3-4未サポート - サポートの予定は現在ありません
15-3-5MISRA.CATCH.BY_VALUE クラス タイプの例外オブジェクトが値によってキャッチされています
15-3-6MISRA.CATCH.WRONGORD 省略記号例外ハンドラーが try-catch ブロックの最後に置かれていません
15-3-7MISRA.CATCH.NOALL 省略記号例外ハンドラーが try-catch ブロックの最後に置かれていません
15-4-1MISRA.DECL.EXCPT.SPEC 異なる例外指定で関数が宣言されています
15-5-1MISRA.DTOR.THROW デストラクタにスローします
15-5-2未サポート - サポートの予定は現在ありません
15-5-3MISRA.TERMINATE terminate() 関数が明示的に呼び出されています
16-0-1MISRA.INCL.INSIDE include ディレクティブの前にプリプロセッサ出力トークンがあります
16-0-2

MISRA.DEFINE.NOTGLOBAL グローバルレベル以外で定義されています

MISRA.UNDEF.NOTGLOBAL グローバルレベルに未定義がありません

16-0-3MISRA.UNDEF Undef が使用されています
16-0-4MISRA.DEFINE.FUNC マクロが関数のように定義されています
16-0-5MISRA.EXPANSION.DIRECTIVE マクロの引数内にディレクティブのようなトークンがあります
16-0-6MISRA.DEFINE.NOPARS マクロ パラメーターに括弧がありません
16-0-7

MISRA.IF.UNDEF #if ディレクティブでマクロが定義されていません

MISRA.ELIF.UNDEF #elif ディレクティブでマクロが定義されていません

16-0-8MISRA.USE.UNKNOWNDIR 不明なプリプロセッサ ディレクティブが使用されています
16-1-1

MISRA.IF.DEFINED #if ディレクティブで不正な 'defined' が使用されています

MISRA.ELIF.DEFINED #elif ディレクティブで不正な 'defined' が使用されています

16-1-2

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

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

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

16-2-1

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

MISRA.USE.EXPANSION マクロの展開

MISRA.USE.WRONGDIR 不適切なプリプロセッサ ディレクティブです

16-2-2MISRA.DEFINE.BADEXP.CPP C++ ソースで不適切なマクロ展開です
16-2-3MISRA.INCGUARD インクルード ガードが入力されていません
16-2-4MISRA.INCL.SYMS ヘッダー ファイル名に非標準文字が使用されています
16-2-5MISRA.INCL.SYMS ヘッダー ファイル名に非標準文字が使用されています
16-2-6MISRA.INCL.BAD 非標準の include ディレクティブです
16-3-1MISRA.DEFINE.SHARP.MANY マクロ定義に # 演算子または ## 演算子がいくつか使用されています
16-3-2MISRA.DEFINE.SHARP マクロ定義に # 演算子または ## 演算子が使用されています
16-6-1MISRA.PRAGMA ドキュメントにない pragma ディレクティブです
17-0-1

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

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

17-0-2

MISRA.UNDEF.WRONGNAME 標準ライブラリからの名前が定義されていません

MISRA.UNDEF.WRONGNAME.UNDERSCORE 予約名が定義されていません

17-0-3

MISRA.STDLIB.WRONGNAME 標準ライブラリのマクロ、オブジェクトまたは関数の名前が再使用されています

MISRA.STDLIB.WRONGNAME.UNDERSCORE 予約名が言語の名前に使用されています

17-0-4未サポート - 静的に検証できません
17-0-5

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

MISRA.STDLIB.LONGJMP setjmp マクロまたは longjmp 関数の使用

18-0-1MISRA.EXPANSION.UNSAFE 安全でないマクロの使用
18-0-2

MISRA.INCL.UNSAFE 安全でないヘッダーのインクルード

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

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

MISRA.INCL.UNSAFE 安全でないヘッダーのインクルード

MISRA.STDLIB.TIME ライブラリ time.h の時間処理関数の使用

18-0-5

MISRA.STDLIB.CSTRING 'cstring' ライブラリからの関数が使用されています

MISRA.STDLIB.CSTRING.MACRO 'cstring' ライブラリからのマクロが使用されています

18-2-1MISRA.EXPANSION.UNSAFE 安全でないマクロの使用
18-4-1MISRA.STDLIB.MEMORY 動的ヒープ メモリ割り当ての使用
18-7-1

MISRA.STDLIB.SIGNAL signal.h の信号処理装置の使用

MISRA.INCL.UNSAFE 安全でないヘッダーのインクルード

19-3-1

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

MISRA.STDLIB.ERRNO エラー インジケーター 'errno' が使用されています

27-0-1

MISRA.INCL.UNSAFE 安全でないヘッダーのインクルード

MISRA.STDLIB.STDIO プロダクション コードで入力/出力ライブラリ stdio.h が使用されています

サポートのサマリー

サポート対象合計:193

静的に検証不可能な規則の合計:14

サポートされていない静的に検証可能な規則の合計:22

MISRA C++ の対象範囲:90% (静的に検証不可能な規則を除く)