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