EN JP CN

MISRA-C++ 2008 チェッカーリファレンス

MISRA-C++ 2008 チェッカーリファレンス

これらのチェッカーでは、MISRA C++ 2008 規格の違反を検出します。

注意

  • これらのチェッカーを使用するには、https://support.roguewave.com/downloads/ からダウンロードする必要があります。MISRA チェッカーを有効にする方法については、ダウンロードに含まれている readme ファイルを参照してください。
  • MISRA 規格の違反を検出するいくつかのデフォルトのチェッカーもあります。Klocwork チェッカーにマッピングされた MISRA-C++ 2008 規則 でリストされます。
  • オンライン ドキュメンテーションの MISRA チェッカーに関する情報は、最新のサービス リリースとパッチを反映しています。
指摘コード説明MISRA-C++ 規則導入改善
MISRA.ADDR.REF.PARAM 参照によって渡されたパラメーターのアドレスを関数が返しています7-5-39.19.2、11.1
MISRA.ADDR.REF.PARAM.PTR 参照によって渡されたパラメーターのアドレスを関数が返しています7-5-39.211.1
MISRA.ASM.ENCAPS アセンブリ言語が分離されていません7-4-39.1 
MISRA.ASSIGN.COND 条件内で代入演算子が使用されています6-2-19.2 
MISRA.ASSIGN.OVERLAP オブジェクトは、オーバーラップするオブジェクトに割り当てられてはいけません0-2-19.5 
MISRA.ASSIGN.SUBEXPR 部分式で代入演算子が使用されています6-2-19.19.2
MISRA.BASE.IDS.UNIQUE 継承階層でメンバー名が 2 回使用されています10-2-19.2 
MISRA.BASE.MANYDEFS オーバーライドする仮想関数とオーバーライドされる仮想関数の両方に、定義があります10-3-19.2 
MISRA.BASE.VIRTUAL.NOTVIRTUAL 継承階層で、基本クラスが仮想および非仮想の両方で使用されています10-1-39.2 
MISRA.BIN_OP.OVERLOAD カンマ、論理演算子 OR、または論理演算子 AND が多重定義されています5-2-119.1 
MISRA.BITFIELD.SIGNED 符号付きビットフィールドの長さが 1 です9-6-49.19.2、10.4
MISRA.BITFIELD.TYPE.CPP ビットフィールドの型は、ブール、符号付き/符号なし整数のいずれでもありません9-6-29.211.0
MISRA.BITS.NOT_UNSIGNED ビット演算のオペランドは、符号なし整数ではありません5-0-219.19.2、9.2 SR1、9.5、11.0
MISRA.BITS.NOT_UNSIGNED.PREP#if または #elif プリプロセッサディレクティブのビット演算のオペランドが符号なし整数ではありません5-0-2111.1 
MISRA.BITS.OPERAND ビット演算のオペランドが別の基礎をなす型を持っています5-0-209.1 
MISRA.BUILTIN_NUMERIC 組み込み数値型が使用されています3-9-29.19.2、9.2 SR1、9.5
MISRA.C_CAST 非 void 型への C スタイルのキャストです5-2-49.19.2
MISRA.CAST.CONST キャスト演算により const 修飾子または volatile 修飾子がポインターまたは参照から除外されます5-2-59.19.2、10.4
MISRA.CAST.FLOAT_INT 整数型への浮動小数点式のキャスト5-0-79.19.6
MISRA.CAST.FLOAT.WIDER より幅広い浮動小数点型への浮動小数点式のキャスト5-0-89.19.6、11.0
MISRA.CAST.FUNC_PTR.CPP キャストにより関数ポインターがその他のポインター型に変換されます5-2-69.2 
MISRA.CAST.INT_FLOAT 浮動小数点型への整数式のキャスト5-0-79.6 
MISRA.CAST.INT.SIGN 自明ではない整数式が別の符号を持つ型にキャストされています5-0-99.19.2
MISRA.CAST.INT_TO_PTR 整数型または void へのポインターを持つオブジェクトがポインター型へキャストされています5-2-89.2 
MISRA.CAST.INT.WIDER より幅広い整数型への整数式のキャスト5-0-89.6 
MISRA.CAST.POLY.TYPE 多形基本クラスから派生クラスへのキャスト5-2-39.2 
MISRA.CAST.PTR.UNRELATED ポインター型のオブジェクトを関連のない型にキャストしています5-2-79.29.5
MISRA.CAST.PTR.VRCLASS 仮想基本クラスを指すポインターから派生クラスを指すポインターへのキャストでは、'dynamic_cast' を使用しません5-2-29.2 
MISRA.CAST.PTR_TO_INT キャストによりポインターが整数型に変換されます5-2-99.19.2
MISRA.CAST.UNSIGNED_BITS unsigned char または short でのビット演算の結果は元の型にキャストできません5-0-109.110.4
MISRA.CATCH.ALL try-catch ブロックに省略記号例外ハンドラーがありません15-3-29.2 
MISRA.CATCH.BY_VALUE クラス タイプの例外オブジェクトが値によってキャッチされています15-3-59.19.5
MISRA.CATCH.NOALL 省略記号例外ハンドラーが try-catch ブロックの最後に置かれていません15-3-79.2 
MISRA.CATCH.WRONGORD 省略記号例外ハンドラーが try-catch ブロックの最後に置かれていません15-3-69.2 
MISRA.CHAR.DIGRAPH 文字表記の使用2-5-19.1 
MISRA.CHAR.NOT_CHARACTER 文字でない値に 'char' が使用されています5-0-119.111.2
MISRA.CHAR.OPERAND 型 'char' または 'wchar_t' の式が文字以外のオペランドで使用されています4-5-39.19.2
MISRA.CHAR.TRIGRAPH 3 文字表記の使用2-3-19.19.2
MISRA.COMMA カンマ演算子が使用されています5-18-19.1 
MISRA.COMP.WRAPAROUND 条件内でラップアラウンドしています5-19-19.29.5
MISRA.CONST.RET.NON_CONST 定数のメンバー関数が非定数のポインターをメンバー変数に返しています9-3-19.19.2、9.2 SR2
MISRA.CONTINUE.ILL continue ステートメントが不適切な形式の for ループで使用されています6-6-39.2 
MISRA.CONV.FLOAT 暗黙的な浮動小数点変換です5-0-59.111.0
MISRA.CONV.INT.SIGN 暗黙的な整数変換により符号が変わります5-0-49.19.2、9.2 SR2、10.4、11.0
MISRA.CONV.NUM.NARROWER より幅の狭い型への暗黙的な数値変換です5-0-69.19.5、11.0
MISRA.COPY.CSTR.TMPL クラスには、単一の汎用パラメーターを持つテンプレート コンストラクタがありますが、コピー コンストラクタが定義されていません14-5-29.211.0
MISRA.COPYASSIGN.ABSTRACT コピー代入演算子が抽象クラスのパブリックとして宣言されています12-8-29.2 
MISRA.COPYASSIGN.TMPL クラスは、単一の汎用パラメーターを持つテンプレート代入演算子を持ちますが、明示的なコピー代入演算子が定義されていません14-5-39.2 
MISRA.CT.UNIQUE.ID 識別子がタイプ名と不整合です2-10-49.19.2、9.2 SR1
MISRA.CTOR.BASE コンストラクタがその基本クラスのコンストラクタを明示的に呼び出していません12-1-29.19.2、9.5
MISRA.CTOR.DYNAMIC オブジェクトの動的タイプがそのコンストラクタのボディから使用されています12-1-19.2 
MISRA.CTOR.NOT_EXPLICIT 組み込み型の引数を持つコンストラクタが 'explicit' と宣言されていません12-1-39.111.0
MISRA.CTOR.TRY.NON_STATIC コンストラクタまたはデストラクタの関数 try-catch ブロックが非スタティックなメンバーを参照しています15-3-39.1 
MISRA.CVALUE.IMPL.CAST.CPP 式の値は別の型に暗黙的に変換できません5-0-39.29.5
MISRA.DECL.ARRAY_SIZE 配列の宣言でサイズが不明です3-1-39.1 
MISRA.DECL.EXCPT.SPEC 異なる例外指定を使って関数が宣言されています15-4-19.19.2
MISRA.DECL.FUNC_LOCAL 関数がローカルで宣言されています3-1-29.19.2 SR1
MISRA.DECL.MANY_DCLS 1 つの宣言に複数の宣言子があります8-0-19.1 
MISRA.DEFINE.BADEXP.CPP C++ ソースで不適切なマクロ展開です16-2-29.19.5
MISRA.DEFINE.FUNC マクロが関数のように定義されています16-0-49.1 
MISRA.DEFINE.NOPARS マクロ パラメーターに括弧がありません16-0-69.1 
MISRA.DEFINE.NOTGLOBAL グローバル レベル以外で定義します16-0-29.1 
MISRA.DEFINE.SHARP マクロ定義に # 演算子または ## 演算子が使用されています16-3-29.1 
MISRA.DEFINE.SHARP.MANY マクロ定義に # 演算子または ## 演算子がいくつか使用されています16-3-19.1 
MISRA.DEFINE.WRONGNAME 標準ライブラリからの名前がマクロ名に使用されています17-0-19.19.2 SR2、9.5
MISRA.DEFINE.WRONGNAME.UNDERSCORE 予約名がマクロ名に使用されています17-0-19.2 SR2 
MISRA.DERIVE.VIRTUAL クラスが仮想のベースから派生しています10-1-19.19.2
MISRA.DTOR.DYNAMIC オブジェクトの動的タイプがそのデストラクタのボディから使用されています12-1-19.2 
MISRA.DTOR.THROW デストラクタでスローします15-5-19.1 
MISRA.ELIF.DEFINED #elif ディレクティブで不正な 'defined' が使用されています16-1-19.1 
MISRA.ELIF.OTHERFILE 不適切なファイルでの #elif16-1-29.1 
MISRA.ELIF.UNDEF #elif ディレクティブでマクロが定義されていません16-0-79.1 
MISRA.ELIF.WRAPAROUND #elif ディレクティブでラップアラウンドします5-19-19.1 
MISRA.ELSE.OTHERFILE 不適切なファイルでの #else16-1-29.1 
MISRA.ENDIF.OTHERFILE 不適切なファイルでの #endif16-1-29.1 
MISRA.ENUM.INIT 1 番目以外の列挙子が明示的に初期化されていますが、一部の要素が明示的に初期化されていません8-5-39.1 
MISRA.ENUM.OPERAND 列挙型の式が代数コンテキストで使用されています4-5-29.19.2
MISRA.EXPANSION.DIRECTIVE マクロの引数内にディレクティブのようなトークンがあります16-0-59.1 
MISRA.EXPANSION.UNSAFE 安全ではないマクロの使用17-0-5、18-0-1、18-2-1、19-3-19.19.5
MISRA.EXPR.COND.NOT_BOOLEAN 条件式の最初のオペランドがブール式ではありません5-0-149.1 
MISRA.EXPR.PARENS.INSUFFICIENT 式の演算子優先順位規則に制限された依存性が必要です。式の括弧の数が不足しています。5-0-210.1.2 
MISRA.EXPR.PARENS.REDUNDANT 式の演算子優先順位規則に制限された依存性が必要です。式の括弧の数が多すぎます。5-0-210.1.210.3、11.2
MISRA.FIELD.BIT.ENUM ビットフィールドが列挙型を持っています9-6-39.1 
MISRA.FLOAT.BIT.REPR 浮動小数点値のビット操作結果はストレージのレイアウトによって変わります3-9-39.19.2 SR1、11.0
MISRA.FLOAT_EQUAL 浮動小数点式のイコールがテストされています6-2-29.1 
MISRA.FOR.COND.CHANGE for ループ条件では、ループ カウンターが変更されます6-5-39.19.2
MISRA.FOR.COND.EQ ++ 演算または -- 演算を使用しないでループ カウンターを変更しいますが、条件ではループ カウンターの同等性のテストをしています6-5-29.1 
MISRA.FOR.COUNTER.FLT for ループのカウンターが浮動小数点型です6-5-19.2 
MISRA.FOR.COUNTER.MANY for ループに、カウンターが多すぎます6-5-19.2 
MISRA.FOR.INCR for ループの増分式に、標準形式 (一定ステップごとの増分/減分) がありません6-5-49.1 
MISRA.FOR.LOOP_CONTROL.CHANGE.COND for ループの条件セクションでループ制御変数が変更されています6-5-59.2 
MISRA.FOR.LOOP_CONTROL.CHANGE.EXPR for ループの式セクションでループ制御変数が変更されています6-5-59.2 
MISRA.FOR.LOOP_CONTROL.NOT_BOOLEAN ループ制御変数がブール値ではありません6-5-69.1 
MISRA.FOR.STMT.CHANGE for ループのカウンターが loop ループ ステートメント内で変更されています6-5-39.2 
MISRA.FUNC.ADDR & 演算子なしで関数のアドレスが使用されています8-4-49.19.2 SR1
MISRA.FUNC.ARRAY.PARAMS 配列タイプの関数引数がポインターに減退しています5-2-129.1 
MISRA.FUNC.DECL.AFTERUSE テンプレートをインスタンス化するときに多重定義の解決によって選択された関数が、その使用後に定義されています14-6-29.2 
MISRA.FUNC.PARAMS.IDENT 関数の宣言と定義の識別子が一致していません8-4-29.5 
MISRA.FUNC.RECUR 再帰関数7-5-49.19.2、9.2 SR1
MISRA.FUNC.SPEC.NOTSPEC 関数呼び出し用の実行可能関数に特殊化と非特殊化の両方が含まれています14-8-29.2 
MISRA.FUNC.SPEC.OVRLD 関数呼び出し用の実行可能関数に、多重定義されたテンプレートとその明示的な特殊化が含まれています14-8-19.2 
MISRA.FUNC.STATIC.REDECL 関数またはオブジェクトの再宣言に 'static' 修飾子がありません3-3-29.2 
MISRA.FUNC.UNUSEDPAR 非仮想関数の仮パラメーターが使用されていません0-1-119.29.2 SR2
MISRA.FUNC.UNUSEDPAR.UNNAMED 非仮想関数の名前のない仮パラメーターが使用されていません0-1-119.29.2 SR1
MISRA.FUNC.UNUSEDRET 非 void 関数の戻り値が使用されていません0-1-79.210.3
MISRA.FUNC.VARARG 関数が可変数の引数を持っています8-4-19.1 
MISRA.FUNC.VIRTUAL.UNUSEDPAR 仮想関数セットの仮パラメーターが使用されていません0-1-129.29.2 SR1
MISRA.FUNC_CAST 仮想関数セットの仮パラメーターが使用されていません5-2-49.2 
MISRA.GENFU.ASSOC 汎用関数が関連付けられた名前空間で宣言されています14-5-19.2 
MISRA.GOTO.AFTER.LABEL goto が制約なしで使用されています6-6-29.1 
MISRA.GOTO.NESTED 入れ子複合ステートメント内で宣言されたラベルに goto しています6-6-19.19.2
MISRA.IF.DEFINED #if ディレクティブで不正な 'defined' が使用されています16-1-19.1 
MISRA.IF.NO_COMPOUND if/else ステートメントのボディが複合ステートメントではありません6-4-19.1 
MISRA.IF.NO_ELSE if/else-if ステートメントのチェインが else で終了していません6-4-29.110.4
MISRA.IF.UNDEF #if ディレクティブでマクロが定義されていません16-0-79.1 
MISRA.IF.WRAPAROUND #if ディレクティブでラップアラウンドします5-19-19.1 
MISRA.INCGUARD インクルード ガードが入力されていません16-2-39.1 
MISRA.INCL.BAD 非標準の include ディレクティブです16-2-69.19.2、11.1
MISRA.INCL.INSIDE include ディレクティブの前にプリプロセッサ出力トークンがあります16-0-19.1 
MISRA.INCL.SYMS ヘッダー ファイル名に非標準文字が使用されています16-2-4、16-2-59.1 
MISRA.INCL.UNSAFE 安全でないヘッダーが含まれています18-0-2、18-0-4、18-7-1、27-0-19.1 
MISRA.INCR_DECR.OTHER 増分または減分の演算子がその他の演算子と混合して式で使用されています5-2-109.1 
MISRA.INIT.BRACES 不適切な初期化子が配置を固定しています8-5-29.1 
MISRA.ITER.ONETERM 反復ステートメントに複数の break または for ループ終端への複数の goto があります6-6-49.1 
MISRA.LINKAGE.EXTERN 外部リンクを持つ宣言がヘッダー ファイルにありません3-3-19.19.2
MISRA.LITERAL.NULL.INT NULL が整数値として使用されています4-10-19.111.1
MISRA.LITERAL.NULL.PTR リテラルのゼロが null ポインター定数として使用されています4-10-29.1 
MISRA.LITERAL.SUFFIX.CASE リテラルのサフィックスは小文字です2-13-49.19.2 SR1、9.5
MISRA.LITERAL.UNSIGNED.SUFFIX 'U' 添え字の付かない符号なし整数リテラルです2-13-39.19.5、10.2
MISRA.LOGIC.NOT_BOOL 論理演算のオペランドがブール値ではありません5-3-19.19.2 SR1、9.5
MISRA.LOGIC.OPERATOR.NOT_BOOL 論理演算ではない演算子のオペランドが実質的にはブール値です4-5-19.2 SR1 (C++ 向け)10.4
MISRA.LOGIC.POSTFIX 論理 'and' 式または論理 'or' 式のオペランドが後置式ではありません5-2-19.29.2 SR1、9.2 SR2、9.5
MISRA.LOGIC.SIDEEFF 論理 'and' 式または論理 'or' 式の右側のオペランドは副作用があります5-14-19.210.4
MISRA.MEMB.NON_CONST 非定数のメンバー関数ではどのメンバー変数も変更しません9-3-39.19.2、9.2 SR1、9.2 SR2、9.5、10.3、10.4
MISRA.MEMB.NON_STATIC 非スタティック メンバー関数では同じクラスのその他の非スタティック メンバーを使用しません9-3-39.19.2、9.2 SR1、9.5
MISRA.MEMB.NOT_PRIVATE 非 POD クラスのメンバー変数がプライベートではありません11-0-19.110.4
MISRA.NAMESPACE.DECL ヘッダー ファイルに using 宣言があります7-3-69.1 
MISRA.NAMESPACE.DIR ヘッダー ファイルに using ディレクティブがあります7-3-69.1 
MISRA.NAMESPACE.UNMD ヘッダー ファイルに名前のない名前空間があります7-3-39.1 
MISRA.NS.GLOBAL グローバル名前空間で関数、変数、または型が宣言されています7-3-19.110.3
MISRA.NS.GLOBAL.USING グローバル名前空間には、using ディレクティブおよび using 宣言は含まれません。7-3-110.1 
MISRA.NS.MAIN 変数、型、名前空間または 'main' の名前の付いた非グローバル関数です7-3-29.19.2
MISRA.NS.USING.HEADER ヘッダー ファイルでディレクティブまたは宣言が使用されています7-3-69.1 
MISRA.NS.USING_DECL 識別子に対する複数宣言がその識別子の using 宣言にまたがっています7-3-59.2 
MISRA.NS.USING_DIR ディレクティブを使用しています7-3-49.19.2
MISRA.NULL.STMT 行上に null ステートメント以外のものがあるか、またはコメントが不適切な場所に記述されています6-2-39.19.2
MISRA.OBJ.TYPE.COMPAT 型がその他の宣言の型と互換性がありません3-2-19.111.0
MISRA.OBJ.TYPE.IDENT 型がその他の宣言の型と一致していません3-9-19.19.2
MISRA.ONEDEFRULE.FUNC ヘッダー ファイルでグローバル関数が定義されています3-1-19.2 
MISRA.ONEDEFRULE.VAR ヘッダー ファイルでグローバル変数が定義されています3-1-19.5 
MISRA.PPARAM.NEEDS.CONST ポインター パラメーターを使用しないでアドレス指定されたオブジェクトを変更していますが、const を指すポインターとして宣言されていません7-1-29.19.2 SR1、9.5、10.4
MISRA.PRAGMA ドキュメントにない pragma ディレクティブです16-6-19.1 
MISRA.PRAGMA.ASM 不正なアセンブラー命令です7-4-29.1 
MISRA.PTR.ARITH 代数式または配列インデックス式でポインターが使用されています5-0-159.1 
MISRA.PTR.TO_PTR_TO_PTR ポインター宣言に 2 つ以上のレベルの間接指定があります5-0-199.19.2
MISRA.PUREVIRT.OVRD 純粋な仮想関数が、純粋でない仮想関数をオーバーライドしています10-3-39.2 
MISRA.RET.REF.NON_CONST メンバー関数が非定数の参照をメンバー変数に返しています9-3-29.19.2
MISRA.RETURN.NOT_LAST 関数内で return が最後のステートメントになっていません6-6-59.19.2 SR2、9.5
MISRA.SAME.DEFPARAMS オーバーライドする仮想関数とオーバーライドされる関数に、異なるデフォルト引数があります8-3-19.1 
MISRA.SHIFT.RANGE シフト演算子の右側のオペランドは範囲外 (左側のオペランドの最大ビット長以上か、または負) です5-8-19.19.2
MISRA.SIGNED_CHAR.NOT_NUMERIC 数値でない値に 'signed char' または 'unsigned char' が使用されています5-0-129.19.2
MISRA.SIZEOF.SIDE_EFFECT sizeof のオペランドに副作用があります5-3-49.1 
MISRA.SPEC.ILL テンプレートの明示的なインスタンス化により、コードの形式が損なわれます14-7-29.2 
MISRA.SPEC.SAMEFILE テンプレート特殊化とその基本テンプレートが別々のファイルで宣言されています14-7-39.211.0
MISRA.STDLIB.ABORT ライブラリ stdlib.h から 'abort'、'exit'、'getenv' または 'system' が使用されています18-0-39.1 
MISRA.STDLIB.ATOI ライブラリ stdlib.h から 'atof'、'atoi' または 'atol' が使用されています18-0-29.1 
MISRA.STDLIB.CSTRING 'cstring' ライブラリからの関数が使用されています18-0-59.2 
MISRA.STDLIB.CSTRING.MACRO 'cstring' ライブラリからのマクロが使用されています18-0-59.2 
MISRA.STDLIB.ERRNO エラー インジケーター 'errno' が使用されています19-3-19.1 
MISRA.STDLIB.LONGJMP setjmp マクロまたは longjmp 関数の使用17-0-59.1 
MISRA.STDLIB.MEMORY 動的ヒープ メモリ割り当ての使用18-4-19.1 
MISRA.STDLIB.SIGNAL signal.h の信号処理装置の使用18-7-19.1 
MISRA.STDLIB.STDIO プロダクション コードで入力/出力ライブラリ stdio.h が使用されています27-0-19.1 
MISRA.STDLIB.TIME ライブラリ time.h の時間処理関数の使用18-0-49.1 
MISRA.STDLIB.WRONGNAME 標準ライブラリのマクロ、オブジェクトまたは関数の名前が再使用されています17-0-39.19.2 SR2
MISRA.STDLIB.WRONGNAME.UNDERSCORE 予約名が言語エンティティの名前に使用されています17-0-39.2 SR2 
MISRA.STMT.COND.NOT_BOOLEAN if または loop ステートメントの条件がブール式になっていません5-0-139.19.5
MISRA.STMT.NO_COMPOUND switch、while、do/while または for ステートメントのボディが複合ステートメントではありません6-3-19.1 
MISRA.STRINGS.CONCAT ナロー文字列リテラルとワイド文字列リテラルが連結されています2-13-59.1 
MISRA.SWITCH.BOOL switch ステートメントの条件がブール式です6-4-79.1 
MISRA.SWITCH.LABEL switch のラベルが switch ボディ内部の入れ子複合ステートメント内に属しています6-4-49.1 
MISRA.SWITCH.NO_BREAK switch 句の最後に break ステートメントまたは throw ステートメントがありません6-4-59.19.2
MISRA.SWITCH.NO_CASE switch ステートメントに case 句がありません6-4-89.19.2
MISRA.SWITCH.NODEFAULT switch ステートメントの最後に default 句がありません6-4-69.29.2 SR1
MISRA.SWITCH.NOT_WELL_FORMED switch ステートメントの形式が不適切です6-4-39.19.2
MISRA.TEMPLMEM.NOQUAL switch ステートメントの形式が不適切です14-6-19.2 
MISRA.TERMINATE terminate() 関数が明示的に呼び出されています15-5-39.1 
MISRA.THROW.EMPTY 空のスロー式が catch ブロックに属していません15-1-39.1 
MISRA.THROW.NULL NULL が明示的にスローされています15-1-29.1 
MISRA.THROW.PTR 例外オブジェクトがポインターになっています15-0-29.1 
MISRA.TOKEN.BADCOM コメントに不適切な文字列があります2-7-19.1 
MISRA.TOKEN.OCTAL.ESCAPE 8 進数のエスケープ シーケンスの使用2-13-29.1 
MISRA.TOKEN.OCTAL.INT 8 進数の整数定数を使用しています2-13-29.110.4
MISRA.TOKEN.WRONGESC リテラルに不正なエスケープ シーケンスがあります2-13-19.1 
MISRA.TRY.JUMP goto ステートメントまたは switch ステートメントでコントロールを try ブロックに転送できます15-0-39.110.1 SR1、10.2
MISRA.TYPE.NAMECLASH 型および変数/関数が同じ名前です2-10-69.19.2、9.2 SR2、9.5
MISRA.TYPEDEF.NOT_UNIQUE typedef の名前が固有ではありません2-10-39.19.2、9.5
MISRA.UMINUS.UNSIGNED 単項マイナスのオペランドに符号がありません5-3-29.1 
MISRA.UN_OP.OVERLOAD 単項の & 演算子が多重定義されています5-3-39.111.0
MISRA.UNDEF Undef の使用16-0-39.1 
MISRA.UNDEF.NOTGLOBAL 非グローバルレベルの undef16-0-29.1 
MISRA.UNDEF.WRONGNAME 標準ライブラリからの名前が定義されていません17-0-29.19.5
MISRA.UNDEF.WRONGNAME.UNDERSCORE 予約名が定義されていません17-0-29.2 SR2 
MISRA.UNION 共用体が使用されています9-5-19.1 
MISRA.USE.DEFINE マクロが保護されずに定義されています16-2-19.1 
MISRA.USE.EXPANSION マクロの展開16-2-19.1 
MISRA.USE.UNKNOWNDIR 不明なプリプロセッサ ディレクティブが使用されています16-0-89.111.3
MISRA.USE.WRONGDIR 不適切なプリプロセッサ ディレクティブです16-2-19.1 
MISRA.VAR.HIDDEN 変数宣言によって、上位スコープでの宣言が見えなくされています2-10-29.29.2 SR1, 9.5, 10.1, 10.2
MISRA.VAR.MIN.VIS 名前の表示が広すぎます3-4-19.19.2 SR2、10.1
MISRA.VAR.NEEDS.CONST 変数は変更されずに、const 修飾子なしで宣言されています7-1-19.19.2 SR1, 9.2 SR2, 10.4, 11.3
MISRA.VAR.UNIQUE.STATIC 静的ストレージ指定の識別子がその他の識別子と不整合です2-10-59.2 
MISRA.VIRTUAL.BASE.DIAMOND 基本クラスがダイヤモンド階層以外で仮想として使用されています10-1-29.2 
MISRA.VIRTUAL.NOVIRTUAL オーバーライドする仮想関数が 'virtual' キーワードなしで宣言されています10-3-29.29.5