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