EN JP CN

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

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

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

注意

指摘コード説明MISRA-C 規則導入 改善

CWARN.NOEFFECT.UCMP.GE

符号なし値と 0 との比較は、常に true になります0-1-2Pre-9.29.5

CWARN.NOEFFECT.UCMP.GE.MACRO

マクロ内で符号なし値と 0 との比較は、常に true になります0-1-2Pre-9.29.5

CWARN.NOEFFECT.UCMP.LT

符号なし値と 0 との比較は、常に false になります0-1-2Pre-9.29.5

CWARN.NOEFFECT.UCMP.LT.MACRO

マクロ内で符号なし値と 0 との比較は、常に false になります0-1-2Pre-9.29.5

FUNCRET.GEN

非 void 関数に戻り値がありません8-4-3Pre-9.2 

LOCRET.ARG

関数がローカル変数のアドレスを返しています7-5-2Pre-9.29.5

LOCRET.GLOB

関数がローカル変数のアドレスを返しています7-5-2Pre-9.29.5

LOCRET.RET

関数がローカル変数のアドレスを返しています7-5-1Pre-9.29.5

LV_UNUSED.GEN

ローカル変数は使用されません0-1-3Pre-9.2 

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

カンマ、|| または && 演算子が多重定義されています5-2-119.1 

MISRA.BITFIELD.SIGNED

名前付きの符号付きビットフィールドの長さが 2 未満です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

ビット演算のオペランドが符号なし整数ではありません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.CAST.CONST

キャスト演算により const または volatile がポインターまたは参照から除外されます。5-2-59.19.2, 10.4

MISRA.CAST.FLOAT.WIDER

より広い浮動小数点タイプへの浮動小数点式のキャスト5-0-89.19.6, 11.0

MISRA.CAST.FLOAT_INT

整数型への浮動小数点式のキャスト5-0-79.19.6

MISRA.CAST.FUNC_PTR.CPP

キャストにより関数ポインタがその他のポインタ型に変換されます5-2-69.2 

MISRA.CAST.INT.SIGN

自明ではない複合式が別の符号を持つ型にキャストされています5-0-99.19.2

MISRA.CAST.INT.WIDER

より広い整数型への複合式のキャスト5-0-89.611.0

MISRA.CAST.INT_FLOAT

浮動小数点タイプへの複合式のキャスト5-0-79.6 

MISRA.CAST.INT_TO_PTR

整数型または void を指すポインタを持つオブジェクトがポインタ型にキャストされています5-2-89.2 

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.1 

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 文字表記の使用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, 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

組み込み型の引数を持つコンストラクタが '明示的に' 宣言されていません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, 11.0, 11.1

MISRA.C_CAST

非 void タイプへの C スタイルのキャストです5-2-49.19.2

MISRA.DECL.ARRAY_SIZE

配列の宣言でサイズが不明です3-1-3 required9.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 18-7-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.211.2

MISRA.FIELD.BIT.ENUM

ビットフィールドが列挙型を持っています9-6-39.1 

MISRA.FLOAT.BIT.REPR

浮動小数点値のビット操作結果はストレージのレイアウトによって変わります3-9-39.19.2 SR2, 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 ループのカウンターがループステートメント内で変更されています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.2 

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, 2017

MISRA.FUNC.UNUSEDPAR.UNNAMED

非仮想関数で名前のない仮引数が使用されていません0-1-119.29.2 SR1

MISRA.FUNC.UNUSEDRET

非 void 関数の戻り値が使用されていません0-1-79.2 

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 で終了していないか、または空の 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-49.1 

MISRA.INCL.UNSAFE

安全でないヘッダーのインクルード18-0-2 18-0-4 18-7-1 27-0-19.1 

MISRA.INCR_DECR.OTHER

増分または減分の演算子がその他の演算子と混合して式で使用されています5-2-109.19.2

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.111.1

MISRA.LITERAL.SUFFIX.CASE

リテラルの添え字は小文字です2-13-49.19.2 SR1, 9.5

MISRA.LITERAL.UNSIGNED.SUFFIX

'U' 添え字の付かない符号なし整数リテラルです2-13-39.19.5

MISRA.LOGIC.NOT_BOOL

論理演算のオペランドがブール値ではありません5-3-19.19.2 SR1, 9.5

MISRA.LOGIC.OPERATOR.NOT_BOOL

論理演算ではない演算子のオペランドが実質的にはブール値です4-5-19.1 (for C), 9.2 SR1 (for C++)11.2

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

MISRA.MEMB.NON_STATIC

非スタティックメンバー関数は同じクラスのその他の非スタティックメンバーを使用しません9-3-39.19.2, 9.2 SR1, 9.5

MISRA.MEMB.NOT_PRIVATE

非 POD クラスのメンバー変数がプライベートではありません11-0-19.1 

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.1 

MISRA.NS.GLOBAL.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.1 

MISRA.ONEDEFRULE.VAR

ヘッダーファイルでグローバル変数が定義されています3-1-19.1 

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.NODEFAULT

switch ステートメントの最後に default 句がありません6-4-69.29.2 SR1

MISRA.SWITCH.NOT_WELL_FORMED

switch ステートメントの形式が不適切です6-4-39.19.2

MISRA.SWITCH.NO_BREAK

switch 句の最後に break ステートメントまたは throw ステートメントがありません6-4-59.19.2

MISRA.SWITCH.NO_CASE

switch ステートメントに case 句がありません6-4-89.19.2

MISRA.TEMPLMEM.NOQUAL

インスタンス化されたテンプレートで、依存基本クラスで宣言されたメンバーが修飾子または 'this' なしで使用されています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.1 

MISRA.TOKEN.WRONGESC

リテラルに不正なエスケープ文字列があります2-13-19.1 

MISRA.TRY.JUMP

goto ステートメントまたは switch ステートメントでコントロールを try ブロックに転送できます15-0-39.110.1 SR1

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.UNDEF

定義のない使用です16-0-39.1 

MISRA.UNDEF.NOTGLOBAL

グローバルレベル以外で定義されていません16-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.UN_OP.OVERLOAD

単項の & 演算子が多重定義されています5-3-39.111.0

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

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, 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

PORTING.VAR.EFFECTS

ある使用法が副次的な影響を受ける式で変数が 2 回使用されています5-0-19.29.5

UNINIT.CTOR.MIGHT

コンストラクタにおける未初期化の変数の可能性8-5-1Pre-9.29.2, 9.5

UNINIT.CTOR.MUST

コンストラクタにおける未初期化の変数8-5-1Pre-9.29.2, 9.5

UNINIT.HEAP.MIGHT

未初期化のヒープの使用の可能性8-5-1Pre-9.29.2, 9.5

UNINIT.HEAP.MUST

未初期化のヒープの使用8-5-1Pre-9.29.2, 9.5

UNINIT.STACK.ARRAY.MIGHT

未初期化の配列の可能性8-5-1Pre-9.29.2, 9.5

UNINIT.STACK.ARRAY.MUST

未初期化の配列8-5-1Pre-9.29.2, 9.5

UNINIT.STACK.ARRAY.PARTIAL.MUST

一部が未初期化の配列8-5-1Pre-9.29.2, 9.5

UNINIT.STACK.MIGHT

未初期化の変数の可能性8-5-1Pre-9.29.2, 9.5

UNINIT.STACK.MUST

未初期化の変数8-5-1Pre-9.29.2, 9.5, 11.2

UNREACH.GEN

到達不能コード0-1-1Pre-9.29.2, 9.5, 10.1, 10.3, 10.4, 11.2

UNREACH.RETURN

到達不能な void return文0-1-1Pre-9.29.2, 9.5, 11.2

UNUSED.FUNC.GEN

関数を定義していますが、使用していません0-1-1010.111.3

VA_UNUSED.GEN

値を割り当て後に使用しません0-1-9Pre-9.29.5

VA_UNUSED.INIT

値を初期化後に使用しません0-1-9Pre-9.29.5, 11.2