EN JP CN

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

MISRA C 規則 (C90)カテゴリ決定の可否Klocwork チェッカー コードと説明
Dir. 1.1必要(Required)いいえ

 

Dir. 2.1必要(Required)いいえ

 

Dir. 3.1必要(Required)いいえ

 

Dir. 4.1必要(Required)いいえ

 

Dir. 4.2推奨(Advisory)いいえ

 

Dir. 4.3必要(Required)いいえ

MISRA.ASM.ENCAPS アセンブリ言語が分離されていません

Dir. 4.4推奨(Advisory)いいえ

 

Dir. 4.5推奨(Advisory)いいえ

 

Dir. 4.6推奨(Advisory)いいえ

MISRA.BUILTIN_NUMERIC 組み込み数値型が使用されています

Dir. 4.7必要(Required)いいえ

 

Dir. 4.8推奨(Advisory)いいえ

 

Dir. 4.9推奨(Advisory)いいえ

MISRA.DEFINE.FUNC マクロが関数のように定義されています

Dir. 4.10必要(Required)いいえ

MISRA.INCGUARD インクルードガードが入力されていません

Dir. 4.11必要(Required)いいえ

 

Dir. 4.12必要(Required)いいえ

 

Dir. 4.13推奨(Advisory)いいえ

 

1.1必要(Required)はい

 

1.2推奨(Advisory)いいえ

 

1.3必要(Required)いいえ

 

2.1必要(Required)いいえ

UNREACH.GEN 到達不能コード

UNREACH.RETURN 到達不能な void return文

2.2必要(Required)いいえ

EFFECT ステートメントの影響はありません

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

VA_UNUSED.GEN 値を割り当て後に使用しません

VA_UNUSED.INIT 値を初期化後に使用しません

2.3推奨(Advisory)はい

 

2.4推奨(Advisory)はい

 

2.5推奨(Advisory)はい

 

2.6推奨(Advisory)はい

LA_UNUSED ラベルが使用されていません

2.7推奨(Advisory)はい

MISRA.FUNC.UNUSEDPAR.2012 関数に未使用のパラメーターがあります

3.1必要(Required)はい

MISRA.TOKEN.BADCOM コメントに不適切な文字列があります

4.1必要(Required)はい

MISRA.TOKEN.UNTERMINATED.ESCAPE.2012 TRANSLATE ME: Unterminated escape sequence in a string literal

4.2推奨(Advisory)はい

MISRA.CHAR.TRIGRAPH 3 文字表記の使用

5.1必要(Required)はい

 

5.2必要(Required)はい

MISRA.IDENT.DISTINCT.C90.2012 同一のスコープまたは同一の名前空間で宣言された識別子が区別されていません

5.3必要(Required)はい

MISRA.VAR.HIDDEN 内部のスコープで宣言された識別子によって外部のスコープの識別子が非表示になっています

5.4必要(Required)はい

MISRA.DEFINE.NOT_DISTINCT.C90.2012 識別子名が長すぎます

5.5必要(Required)はい

 

5.6必要(Required)はい

MISRA.TYPEDEF.NOT_UNIQUE Typedef 名がその他のエンティティ用に使用されています

5.7必要(Required)はい

MISRA.CT.UNIQUE.ID 識別子がタイプ名と不整合です

5.8必要(Required)はい

 

5.9推奨(Advisory)はい

 

6.1必要(Required)はい

MISRA.BITFIELD.TYPE ビットフィールドのタイプは、符号付き/符号なし整数のいずれでもありません

6.2必要(Required)はい

MISRA.BITFIELD.SIGNED 名前付きの符号付きビットフィールドの長さが 2 未満です

7.1必要(Required)はい

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

7.2必要(Required)はい

MISRA.LITERAL.UNSIGNED.SUFFIX 'U' 添え字の付かない符号なし整数リテラルです

7.3必要(Required)はい

MISRA.TOKEN.L.SUFFIX.FLOAT 浮動小数点定数では、小文字 "l" 接尾辞を使用

MISRA.TOKEN.L.SUFFIX.INT 整数定数では、小文字 "l" 接尾辞を使用

7.4必要(Required)はい

MISRA.STRING_LITERAL.NON_CONST.2012 オブジェクトの種類が const-qualified char のポインターでない限り、文字列リテラルはオブジェクトに割り当てられません

8.1必要(Required)はい

MISRA.DECL.NO_TYPE 宣言から型が抜けています

8.2必要(Required)はい

MISRA.FUNC.NOPROT.CALL 関数が呼び出されていますが、プロトタイプがありません

MISRA.FUNC.NO_PARAMS パラメーターのない関数に void パラメータータイプがありません

MISRA.FUNC.PROT_FORM.KR.2012 関数タイプはプロトタイプ形式です

MISRA.FUNC.UNMATCHED.PARAMS 関数に渡される仮引数と実際のパラメーターの数が一致しません

MISRA.FUNC.UNNAMED.PARAMS 関数の宣言に名前のないパラメーターがあります

8.3必要(Required)はい

 

8.4必要(Required)はい

MISRA.FUNC.NOPROT.DEF.2012 関数は定義されていますが、プロトタイプがありません

8.5必要(Required)はい

 

8.6必要(Required)はい

 

8.7推奨(Advisory)はい

 

8.8必要(Required)はい

MISRA.FUNC.STATIC.REDECL 関数またはオブジェクトの再宣言に 'static' 修飾子がありません

8.9推奨(Advisory)はい

 

8.11推奨(Advisory)はい

MISRA.DECL.ARRAY_SIZE 配列の宣言でサイズが不明です

8.12必要(Required)はい

MISRA.ENUM.IMPLICIT.VAL.NON_UNIQUE.2012 暗黙的列挙子値は一意ではありません

8.13推奨(Advisory)いいえ

MISRA.PPARAM.NEEDS.CONST ポインタパラメーターを使用しないでアドレスされたオブジェクトを変更していますが、const を指すポインタとして宣言されていません

9.1必須(Mandatory)いいえ

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 未初期化の変数

9.2必要(Required)はい

MISRA.INIT.BRACES.2012 集計または共用体の初期化子が波括弧で囲まれていません

9.3必要(Required)はい

MISRA.INIT.PARTIAL.2012 配列が部分的に初期化されています

10.1必要(Required)はい

MISRA.ETYPE.INAPPR.OPERAND.BINOP.2012  バイナリ演算子へのオペランドには、不適切な基本タイプがあります

MISRA.ETYPE.INAPPR.OPERAND.INDEXPR.2012  インデックス式に、不適切な基本タイプがあります

MISRA.ETYPE.INAPPR.OPERAND.TERNOP.2012  三項演算子への最初のオペランドには、不適切な基本タイプがあります

MISRA.ETYPE.INAPPR.OPERAND.UNOP.2012  単項演算子へのオペランドには、不適切な基本タイプがあります

10.2必要(Required)はい

MISRA.ETYPE.INAPPR.CHAR.2012  加算または減算演算で、基本的な文字タイプの不適切な使用法。

10.3必要(Required)はい

MISRA.ETYPE.ASSIGN.2012  より狭い基本タイプ、または、異なる基本タイプカテゴリーのオブジェクトへの割り当て

10.4必要(Required)はい

MISRA.ETYPE.CATEGORY.DIFFERENT.2012  通常の算術演算変換が実行される演算子のオペランドに、同じ基本タイプカテゴリーがありません。

10.5推奨(Advisory)はい

MISRA.ETYPE.INAPPR.CAST.2012  式の値は、不適切な基本タイプへのキャストです

10.6必要(Required)はい

MISRA.ETYPE.COMP.ASSIGN.2012  複合式の値は、より広い基本タイプを持つオブジェクトに割り当てられました。

10.7必要(Required)はい

MISRA.ETYPE.COMP.CAST.IMPL.WIDER.2012  通常の算術演算変換が実行される演算子のオペランドとして使用される複合式には、より広い基本タイプを持つ他のオペランドがあります。

10.8必要(Required)はい

MISRA.ETYPE.COMP.CAST.EXPL.DIFFERENT.2012  複合式の値は、異なる基本タイプカテゴリーへのキャストです

MISRA.ETYPE.COMP.CAST.EXPL.WIDER.2012  複合式の値は、より広い基本タイプへのキャストです

11.1必要(Required)はい

MISRA.CAST.FUNC_PTR.2012  関数を指すポインタと、別の非互換タイプとの間で実行された変換

11.2必要(Required)はい

MISRA.CAST.INCOMPLETE_PTR_TO_ANY.2012  不完全なタイプ を指すポインタと、別のタイプとの間で実行された変換

11.3必要(Required)はい

MISRA.CAST.OBJ_PTR_TO_OBJ_PTR.2012  オブジェクト タイプを指すポインタと、異なるオブジェクト タイプを指す別のポインタとの間のキャスト

11.4推奨(Advisory)はい

MISRA.CAST.OBJ_PTR_TO_INT.2012  オブジェクトを指すポインタと、整数タイプとの間で実行された変換

11.5推奨(Advisory)はい

MISRA.CAST.VOID_PTR_TO_OBJ_PTR.2012  void ポインタから、オブジェクトを指すポインタに実行された変換

11.6必要(Required)はい

MISRA.CAST.VOID_PTR_TO_INT.2012  void を指すポインタと算術演算タイプとの間のキャスト

11.7必要(Required)はい

MISRA.CAST.OBJ_PTR_TO_NON_INT.2012  オブジェクトを指すポインタと、非整数算術演算タイプとの間のキャスト

11.8必要(Required)はい

MISRA.CAST.CONST キャスト演算により const または volatile がポインターまたは参照から除外されます。

11.9必要(Required)はい

MISRA.LITERAL.NULL.PTR.CONST.2012 マクロ NULL は、唯一許可された整数 null ポインター定数のフォームです。

12.1推奨(Advisory)はい

MISRA.EXPR.PARENS.2012 式内の演算子の優先度は明示的にする必要があります。

MISRA.EXPR.PARENS.SIZEOF.2012 sizeof 演算子のオペランドは括弧に入れる必要があります。

12.2必要(Required)いいえ

MISRA.SHIFT.RANGE.2012  シフト演算子の右側のオペランドは範囲外です - 左側のオペランドの基本タイプのサイズ以上か、または負

12.3推奨(Advisory)はい

MISRA.COMMA カンマ演算子が使用されています

12.4推奨(Advisory)はい

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

13.2必要(Required)いいえ

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

13.3推奨(Advisory)はい

MISRA.INCR_DECR.SIDEEFF.2012 インクリメント (++) またはデクリメント (--) 演算子を含む完全な式では、インクリメントまたはデクリメント演算子によって生じる以外に他の副作用が存在してはなりません

13.4推奨(Advisory)はい

MISRA.ASSIGN.SUBEXPR.2012 代入演算子の結果が使用されます

13.5必要(Required)いいえ

MISRA.LOGIC.SIDEEFF 論理 'and' 式または論理 'or' 式の右側のオペランドは副作用があります

13.6必須(Mandatory)はい

MISRA.SIZEOF.SIDE_EFFECT sizeof のオペランドに副作用があります

14.1必要(Required)いいえ

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

14.2必要(Required)いいえ

 

14.3必要(Required)いいえ

INVARIANT_CONDITION.GEN 不変な条件式

INVARIANT_CONDITION.UNREACH 不変な条件式

14.4必要(Required)はい

MISRA.STMT.COND.NOT_BOOLEAN.2012 'if' ステートメントまたは 'loop' ステートメントの制御式が 'Essentially Boolean' 型ではありません

15.1推奨(Advisory)はい

MISRA.GOTO goto ステートメントが使用されています

15.2必要(Required)はい

MISRA.GOTO.AFTER_LABEL.2012  Goto は、同じ関数で前に宣言されたラベルにジャンプします。

15.3必要(Required)はい

MISRA.GOTO.NESTED.2012  goto に参照されたラベルは、このブロック、または、それを囲むブロックの中にありません。

15.4推奨(Advisory)はい

MISRA.BREAK_OR_GOTO.MULTIPLE.2012 反復ステートメントに複数の break または for ループ終端への複数の goto があります

15.5推奨(Advisory)はい

MISRA.RETURN.NOT_LAST 関数内で return が最後のステートメントになっていません

15.6必要(Required)はい

MISRA.IF.NO_COMPOUND if/else ステートメントのボディが複合ステートメントではありません

MISRA.STMT.NO_COMPOUND switch、while、do/while または for ステートメントのボディが複合ステートメントではありません

15.7必要(Required)はい

MISRA.IF.NO_ELSE if/else-if ステートメントのチェインが else で終了していないか、または空の else 句で終了しています

16.1必要(Required)はい

MISRA.SWITCH.WELL_FORMED.2012 すべての switch ステートメントは形式が適切である必要があります。

16.2必要(Required)はい

MISRA.SWITCH.WELL_FORMED.NESTED_LABEL.2012 switch ラベルは、最も近くで囲い込む複合ステートメントが switch ステートメントの本文の場合にのみ使用されます。

16.3必要(Required)はい

MISRA.SWITCH.WELL_FORMED.BREAK.2012 条件なしの break ステートメントで各 switch 句を終了するべきです。

16.4必要(Required)はい

MISRA.SWITCH.WELL_FORMED.DEFAULT.2012 各 switch ステートメントはデフォルトラベルを有するべきです。

16.5必要(Required)はい

MISRA.SWITCH.WELL_FORMED.DEFAULT.FIRST_OR_LAST.2012 デフォルトのラベルが switch ステートメントの最初または最後の switch ラベルのいずれかとして表示されるべきです。

16.6必要(Required)はい

MISRA.SWITCH.WELL_FORMED.TWO_CLAUSES.2012 各 switch ステートメントは少なくとも 2 つの switch 句を有するべきです。

16.7必要(Required)はい

MISRA.SWITCH.COND.BOOL.2012 switch 文は基本的にブールデータ型を有しているべきではありません。

17.1必要(Required)はい

MISRA.FUNC.VARARG 関数が可変数の引数を持っています

17.2必要(Required)いいえ

MISRA.FUNC.RECUR 再帰関数

17.3必須(Mandatory)はい

MISRA.FUNC.NOPROT.CALL 関数が呼び出されていますが、プロトタイプがありません

MISRA.FUNC.UNMATCHED.PARAMS 関数に渡される仮引数と実際のパラメーターの数が一致しません

17.4必須(Mandatory)はい

FUNCRET.GEN 非 void 関数に戻り値がありません

FUNCRET.IMPLICIT 暗黙的に int を返す非 void 関数に戻り値がありません

17.5推奨(Advisory)いいえ

 

17.7必要(Required)はい

MISRA.FUNC.UNUSEDRET.2012 非 void 関数の戻り値を使用してください

17.8推奨(Advisory)いいえ

MISRA.FUNC.MODIFIEDPAR.2012 関数パラメーターは変更してはなりません

18.1必要(Required)いいえ

 

18.2必要(Required)いいえ

 

18.3必要(Required)いいえ

 

18.4推奨(Advisory)はい

MISRA.PTR.ARITH.2012 演算式にポインターが使用されています

18.5推奨(Advisory)はい

MISRA.PTR.TO_PTR_TO_PTR ポインタ宣言に 2 つ以上のレベルの間接指定があります

18.6必要(Required)いいえ

LOCRET.ARG 関数がローカル変数のアドレスを返しています

LOCRET.GLOB 関数がローカル変数のアドレスを返しています

LOCRET.RET 関数がローカル変数のアドレスを返しています

18.7必要(Required)はい

MISRA.MEMB.FLEX_ARRAY.2012 柔軟な配列メンバーは宣言しないでください

19.1必須(Mandatory)はい

MISRA.ASSIGN.OVERLAP オブジェクトがオーバーラップするオブジェクトに割り当てられています

19.2推奨(Advisory)はい

MISRA.UNION 和集合が使用されています

20.1推奨(Advisory)はい

MISRA.INCL.INSIDE include ディレクティブの前にプリプロセッサ出力トークンがあります

20.2必要(Required)はい

MISRA.INCL.SYMS ヘッダーファイル名に非標準文字が使用されています

20.3必要(Required)はい

MISRA.INCL.BAD 非標準の include ディレクティブです

20.4必要(Required)はい

 

20.5推奨(Advisory)はい

MISRA.UNDEF 定義のない使用です

20.6必要(Required)はい

MISRA.EXPANSION.DIRECTIVE マクロの引数内にディレクティブのようなトークンがあります

20.7必要(Required)はい

 

20.8必要(Required)はい

 

20.9必要(Required)はい

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

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

20.10推奨(Advisory)はい

MISRA.DEFINE.SHARP マクロ定義に # 演算子または ## 演算子が使用されています

20.11必要(Required)はい

MISRA.DEFINE.SHARP.ORDER.2012 複数の '#' または '##' の評価の順番が指定されていません

20.12必要(Required)はい

MISRA.DEFINE.SHARP.REPLACE.2012 それ自身さらなるマクロ置換の影響を受ける、'#' または '##' 演算子のオペランドとして使用されるマクロパラメーターは、これらの演算子のオペランドとしてのみ使用される。

20.13必要(Required)はい

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

20.14必要(Required)はい

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

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

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

21.1必要(Required)はい

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

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

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

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

21.2必要(Required)はい

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

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

21.3必要(Required)はい

MISRA.STDLIB.MEMORY 動的ヒープメモリ割り当ての使用

21.4必要(Required)はい

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

21.5必要(Required)はい

MISRA.INCL.SIGNAL.2012 標準ヘッダーファイル signal.h は使用しない

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

21.6必要(Required)はい

MISRA.INCL.STDIO.2012 標準ヘッダーファイル stdio.h は使用しない

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

21.7必要(Required)はい

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

21.8必要(Required)はい

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

21.9必要(Required)はい

MISRA.STDLIB.BSEARCH.2012 ライブラリ stdlib.h の 'bsearch' または 'qsort' が使用されています

21.10必要(Required)はい

MISRA.INCL.TIME.2012 標準ヘッダーファイル time.h は使用しない

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

22.1必要(Required)いいえ

FREE.INCONSISTENT メモリの解放が矛盾しています

MLK.MIGHT メモリリークの可能性

MLK.MUST メモリリーク

MLK.RET.MIGHT メモリリークの可能性

MLK.RET.MUST メモリリーク

RH.LEAK リソースリーク

22.2必須(Mandatory)いいえ

FMM.MIGHT メモリの解放の不一致の可能性

FMM.MUST メモリの解放の不一致

FNH.MIGHT 非ヒープメモリの解放の可能性

FNH.MUST 非ヒープメモリの解放

FUM.GEN.MIGHT 未割り当てメモリの解放の可能性

FUM.GEN.MUST 未割り当てメモリの解放

22.3必要(Required)いいえ

 

22.4必須(Mandatory)いいえ

MISRA.RESOURCES.FILE.READ_ONLY_WRITE.2012 読み取り専用として開かれたストリームに書き込んではなりません

22.5必須(Mandatory)いいえ

MISRA.FILE_PTR.DEREF.2012 FILE オブジェクトへのポインターは逆参照してはなりません

MISRA.FILE_PTR.DEREF.CAST.2012 オブジェクトは FILE ポインターにキャストされており、これを逆参照してはなりません。

MISRA.FILE_PTR.DEREF.INDIRECT.2012 FILE オブジェクトへのポインターは、システム関数で間接的に逆参照してはなりません

MISRA.FILE_PTR.DEREF.RETURN.2012 FILE オブジェクト(関数の戻り値)へのポインターは逆参照してはなりません

22.6必須(Mandatory)いいえ

MISRA.RESOURCES.FILE.USE_AFTER_CLOSE.2012 FILE を指し示すポインターの値は、関連するストリームが閉じられたあとは使用しないでください

MISRA C 規則 (C99)カテゴリ決定の可否Klocwork チェッカー コードと説明
Dir. 1.1必要(Required)いいえ

 

Dir. 2.1必要(Required)いいえ

 

Dir. 3.1必要(Required)いいえ

 

Dir. 4.1必要(Required)いいえ

 

Dir. 4.2推奨(Advisory)いいえ

 

Dir. 4.3必要(Required)いいえ

MISRA.ASM.ENCAPS アセンブリ言語が分離されていません

Dir. 4.4推奨(Advisory)いいえ

 

Dir. 4.5推奨(Advisory)いいえ

 

Dir. 4.6推奨(Advisory)いいえ

MISRA.BUILTIN_NUMERIC 組み込み数値型が使用されています

Dir. 4.8推奨(Advisory)いいえ

 

Dir. 4.9推奨(Advisory)いいえ

MISRA.DEFINE.FUNC マクロが関数のように定義されています

Dir. 4.10必要(Required)いいえ

MISRA.INCGUARD インクルードガードが入力されていません

Dir. 4.11必要(Required)いいえ

 

Dir. 4.12必要(Required)いいえ

 

Dir. 4.13推奨(Advisory)いいえ

 

Dir 4.7必要(Required)いいえ

 

1.1必要(Required)はい

 

1.2推奨(Advisory)いいえ

 

1.3必要(Required)いいえ

 

2.1必要(Required)いいえ

UNREACH.GEN 到達不能コード

UNREACH.RETURN 到達不能な void return文

2.2必要(Required)いいえ

EFFECT ステートメントの影響はありません

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

VA_UNUSED.GEN 値を割り当て後に使用しません

VA_UNUSED.INIT 値を初期化後に使用しません

2.3推奨(Advisory)はい

 

2.4推奨(Advisory)はい

 

2.5推奨(Advisory)はい

 

2.6推奨(Advisory)はい

LA_UNUSED ラベルが使用されていません

2.7推奨(Advisory)はい

MISRA.FUNC.UNUSEDPAR.2012 関数に未使用のパラメーターがあります

3.1必要(Required)はい

MISRA.TOKEN.BADCOM コメントに不適切な文字列があります

3.2必要(Required)はい

 

4.1必要(Required)はい

MISRA.TOKEN.UNTERMINATED.ESCAPE.2012 TRANSLATE ME: Unterminated escape sequence in a string literal

4.2推奨(Advisory)はい

MISRA.CHAR.TRIGRAPH 3 文字表記の使用

5.1必要(Required)はい

 

5.2必要(Required)はい

MISRA.IDENT.DISTINCT.C99.2012 同一のスコープまたは同一の名前空間で宣言された識別子が区別されていません

5.3必要(Required)はい

MISRA.VAR.HIDDEN 内部のスコープで宣言された識別子によって外部のスコープの識別子が非表示になっています

5.4必要(Required)はい

MISRA.DEFINE.NOT_DISTINCT.C99.2012 識別子名が長すぎます

5.5必要(Required)はい

 

5.6必要(Required)はい

MISRA.TYPEDEF.NOT_UNIQUE Typedef 名がその他のエンティティ用に使用されています

5.7必要(Required)はい

MISRA.CT.UNIQUE.ID 識別子がタイプ名と不整合です

5.8必要(Required)はい

 

5.9推奨(Advisory)はい

 

6.1必要(Required)はい

MISRA.BITFIELD.TYPE ビットフィールドのタイプは、符号付き/符号なし整数のいずれでもありません

6.2必要(Required)はい

MISRA.BITFIELD.SIGNED 名前付きの符号付きビットフィールドの長さが 2 未満です

7.1必要(Required)はい

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

7.2必要(Required)はい

MISRA.LITERAL.UNSIGNED.SUFFIX 'U' 添え字の付かない符号なし整数リテラルです

7.3必要(Required)はい

MISRA.TOKEN.L.SUFFIX.FLOAT 浮動小数点定数では、小文字 "l" 接尾辞を使用

MISRA.TOKEN.L.SUFFIX.INT 整数定数では、小文字 "l" 接尾辞を使用

7.4必要(Required)はい

MISRA.STRING_LITERAL.NON_CONST.2012 オブジェクトの種類が const-qualified char のポインターでない限り、文字列リテラルはオブジェクトに割り当てられません

8.2必要(Required)はい

MISRA.FUNC.NOPROT.CALL 関数が呼び出されていますが、プロトタイプがありません

MISRA.FUNC.NO_PARAMS パラメーターのない関数に void パラメータータイプがありません

MISRA.FUNC.PROT_FORM.KR.2012 関数タイプはプロトタイプ形式です

MISRA.FUNC.UNMATCHED.PARAMS 関数に渡される仮引数と実際のパラメーターの数が一致しません

MISRA.FUNC.UNNAMED.PARAMS 関数の宣言に名前のないパラメーターがあります

8.3必要(Required)はい

 

8.4必要(Required)はい

MISRA.FUNC.NOPROT.DEF.2012 関数は定義されていますが、プロトタイプがありません

8.5必要(Required)はい

 

8.6必要(Required)はい

 

8.7推奨(Advisory)はい

 

8.8必要(Required)はい

MISRA.FUNC.STATIC.REDECL 関数またはオブジェクトの再宣言に 'static' 修飾子がありません

8.9推奨(Advisory)はい

 

8.10必要(Required)はい

MISRA.DECL.FUNC.INLINE.STATIC.2012 静的ストレージクラス(static)が付与されていないインライン関数の宣言

8.11推奨(Advisory)はい

MISRA.DECL.ARRAY_SIZE 配列の宣言でサイズが不明です

8.12必要(Required)はい

MISRA.ENUM.IMPLICIT.VAL.NON_UNIQUE.2012 暗黙的列挙子値は一意ではありません

8.13推奨(Advisory)いいえ

MISRA.PPARAM.NEEDS.CONST ポインタパラメーターを使用しないでアドレスされたオブジェクトを変更していますが、const を指すポインタとして宣言されていません

8.14必要(Required)はい

MISRA.TYPE.RESTRICT.QUAL.2012 restrict 型修飾子は使用しない

9.1必須(Mandatory)いいえ

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 未初期化の変数

9.2必要(Required)はい

MISRA.INIT.BRACES.2012 集計または共用体の初期化子が波括弧で囲まれていません

9.3必要(Required)はい

MISRA.INIT.PARTIAL.2012 配列が部分的に初期化されています

9.4必要(Required)はい

MISRA.INIT.MULTIPLE.2012 オブジェクトの要素が複数回初期化されています

9.5必要(Required)はい

MISRA.INIT.SIZE.IMPLICIT.2012 指定された初期化子が、配列のサイズが明示的に指定されない場合に、配列オブジェクトを初期化するために使用されます

10.1必要(Required)はい

MISRA.ETYPE.INAPPR.OPERAND.BINOP.2012  バイナリ演算子へのオペランドには、不適切な基本タイプがあります

MISRA.ETYPE.INAPPR.OPERAND.INDEXPR.2012  インデックス式に、不適切な基本タイプがあります

MISRA.ETYPE.INAPPR.OPERAND.TERNOP.2012  三項演算子への最初のオペランドには、不適切な基本タイプがあります

MISRA.ETYPE.INAPPR.OPERAND.UNOP.2012  単項演算子へのオペランドには、不適切な基本タイプがあります

10.2必要(Required)はい

MISRA.ETYPE.INAPPR.CHAR.2012  加算または減算演算で、基本的な文字タイプの不適切な使用法。

10.3必要(Required)はい

MISRA.ETYPE.ASSIGN.2012  より狭い基本タイプ、または、異なる基本タイプカテゴリーのオブジェクトへの割り当て

10.4必要(Required)はい

MISRA.ETYPE.CATEGORY.DIFFERENT.2012  通常の算術演算変換が実行される演算子のオペランドに、同じ基本タイプカテゴリーがありません。

10.5推奨(Advisory)はい

MISRA.ETYPE.INAPPR.CAST.2012  式の値は、不適切な基本タイプへのキャストです

10.6必要(Required)はい

MISRA.ETYPE.COMP.ASSIGN.2012  複合式の値は、より広い基本タイプを持つオブジェクトに割り当てられました。

10.7必要(Required)はい

MISRA.ETYPE.COMP.CAST.IMPL.WIDER.2012  通常の算術演算変換が実行される演算子のオペランドとして使用される複合式には、より広い基本タイプを持つ他のオペランドがあります。

10.8必要(Required)はい

MISRA.ETYPE.COMP.CAST.EXPL.DIFFERENT.2012  複合式の値は、異なる基本タイプカテゴリーへのキャストです

MISRA.ETYPE.COMP.CAST.EXPL.WIDER.2012  複合式の値は、より広い基本タイプへのキャストです

11.1必要(Required)はい

MISRA.CAST.FUNC_PTR.2012  関数を指すポインタと、別の非互換タイプとの間で実行された変換

11.2必要(Required)はい

MISRA.CAST.INCOMPLETE_PTR_TO_ANY.2012  不完全なタイプ を指すポインタと、別のタイプとの間で実行された変換

11.3必要(Required)はい

MISRA.CAST.OBJ_PTR_TO_OBJ_PTR.2012  オブジェクト タイプを指すポインタと、異なるオブジェクト タイプを指す別のポインタとの間のキャスト

11.4推奨(Advisory)はい

MISRA.CAST.OBJ_PTR_TO_INT.2012  オブジェクトを指すポインタと、整数タイプとの間で実行された変換

11.5推奨(Advisory)はい

MISRA.CAST.VOID_PTR_TO_OBJ_PTR.2012  void ポインタから、オブジェクトを指すポインタに実行された変換

11.6必要(Required)はい

MISRA.CAST.VOID_PTR_TO_INT.2012  void を指すポインタと算術演算タイプとの間のキャスト

11.7必要(Required)はい

MISRA.CAST.OBJ_PTR_TO_NON_INT.2012  オブジェクトを指すポインタと、非整数算術演算タイプとの間のキャスト

11.8必要(Required)はい

MISRA.CAST.CONST キャスト演算により const または volatile がポインターまたは参照から除外されます。

11.9必要(Required)はい

MISRA.LITERAL.NULL.PTR.CONST.2012 マクロ NULL は、唯一許可された整数 null ポインター定数のフォームです。

12.1推奨(Advisory)はい

MISRA.EXPR.PARENS.2012 式内の演算子の優先度は明示的にする必要があります。

MISRA.EXPR.PARENS.SIZEOF.2012 sizeof 演算子のオペランドは括弧に入れる必要があります。

12.2必要(Required)いいえ

MISRA.SHIFT.RANGE.2012  シフト演算子の右側のオペランドは範囲外です - 左側のオペランドの基本タイプのサイズ以上か、または負

12.3推奨(Advisory)はい

MISRA.COMMA カンマ演算子が使用されています

12.4推奨(Advisory)はい

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

13.1必要(Required)いいえ

 

13.2必要(Required)いいえ

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

13.3推奨(Advisory)はい

MISRA.INCR_DECR.SIDEEFF.2012 インクリメント (++) またはデクリメント (--) 演算子を含む完全な式では、インクリメントまたはデクリメント演算子によって生じる以外に他の副作用が存在してはなりません

13.4推奨(Advisory)はい

MISRA.ASSIGN.SUBEXPR.2012 代入演算子の結果が使用されます

13.5必要(Required)いいえ

MISRA.LOGIC.SIDEEFF 論理 'and' 式または論理 'or' 式の右側のオペランドは副作用があります

13.6必須(Mandatory)はい

MISRA.SIZEOF.SIDE_EFFECT sizeof のオペランドに副作用があります

14.1必要(Required)いいえ

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

14.2必要(Required)いいえ

 

14.3必要(Required)いいえ

INVARIANT_CONDITION.GEN 不変な条件式

INVARIANT_CONDITION.UNREACH 不変な条件式

14.4必要(Required)はい

MISRA.STMT.COND.NOT_BOOLEAN.2012 'if' ステートメントまたは 'loop' ステートメントの制御式が 'Essentially Boolean' 型ではありません

15.1推奨(Advisory)はい

MISRA.GOTO goto ステートメントが使用されています

15.2必要(Required)はい

MISRA.GOTO.AFTER_LABEL.2012  Goto は、同じ関数で前に宣言されたラベルにジャンプします。

15.3必要(Required)はい

MISRA.GOTO.NESTED.2012  goto に参照されたラベルは、このブロック、または、それを囲むブロックの中にありません。

15.4推奨(Advisory)はい

MISRA.BREAK_OR_GOTO.MULTIPLE.2012 反復ステートメントに複数の break または for ループ終端への複数の goto があります

15.5推奨(Advisory)はい

MISRA.RETURN.NOT_LAST 関数内で return が最後のステートメントになっていません

15.6必要(Required)はい

MISRA.IF.NO_COMPOUND if/else ステートメントのボディが複合ステートメントではありません

MISRA.STMT.NO_COMPOUND switch、while、do/while または for ステートメントのボディが複合ステートメントではありません

15.7必要(Required)はい

MISRA.IF.NO_ELSE if/else-if ステートメントのチェインが else で終了していないか、または空の else 句で終了しています

16.1必要(Required)はい

MISRA.SWITCH.WELL_FORMED.2012 すべての switch ステートメントは形式が適切である必要があります。

16.2必要(Required)はい

MISRA.SWITCH.WELL_FORMED.NESTED_LABEL.2012 switch ラベルは、最も近くで囲い込む複合ステートメントが switch ステートメントの本文の場合にのみ使用されます。

16.3必要(Required)はい

MISRA.SWITCH.WELL_FORMED.BREAK.2012 条件なしの break ステートメントで各 switch 句を終了するべきです。

16.4必要(Required)はい

MISRA.SWITCH.WELL_FORMED.DEFAULT.2012 各 switch ステートメントはデフォルトラベルを有するべきです。

16.5必要(Required)はい

MISRA.SWITCH.WELL_FORMED.DEFAULT.FIRST_OR_LAST.2012 デフォルトのラベルが switch ステートメントの最初または最後の switch ラベルのいずれかとして表示されるべきです。

16.6必要(Required)はい

MISRA.SWITCH.WELL_FORMED.TWO_CLAUSES.2012 各 switch ステートメントは少なくとも 2 つの switch 句を有するべきです。

16.7必要(Required)はい

MISRA.SWITCH.COND.BOOL.2012 switch 文は基本的にブールデータ型を有しているべきではありません。

17.1必要(Required)はい

MISRA.FUNC.VARARG 関数が可変数の引数を持っています

17.2必要(Required)いいえ

MISRA.FUNC.RECUR 再帰関数

17.4必須(Mandatory)はい

FUNCRET.GEN 非 void 関数に戻り値がありません

FUNCRET.IMPLICIT 暗黙的に int を返す非 void 関数に戻り値がありません

17.5推奨(Advisory)いいえ

 

17.6必須(Mandatory)はい

MISRA.FUNC.ARRAY.PARAM.STATIC.2012 TRANSLATE ME: The declaration of an array parameter shall not contain the static keyword between the []

17.7必要(Required)はい

MISRA.FUNC.UNUSEDRET.2012 非 void 関数の戻り値を使用してください

17.8推奨(Advisory)いいえ

MISRA.FUNC.MODIFIEDPAR.2012 関数パラメーターは変更してはなりません

18.1必要(Required)いいえ

 

18.2必要(Required)いいえ

 

18.3必要(Required)いいえ

 

18.4推奨(Advisory)はい

MISRA.PTR.ARITH.2012 演算式にポインターが使用されています

18.5推奨(Advisory)はい

MISRA.PTR.TO_PTR_TO_PTR ポインタ宣言に 2 つ以上のレベルの間接指定があります

18.6必要(Required)いいえ

LOCRET.ARG 関数がローカル変数のアドレスを返しています

LOCRET.GLOB 関数がローカル変数のアドレスを返しています

LOCRET.RET 関数がローカル変数のアドレスを返しています

18.7必要(Required)はい

MISRA.MEMB.FLEX_ARRAY.2012 柔軟な配列メンバーは宣言しないでください

18.8必要(Required)はい

MISRA.ARRAY.VAR_LENGTH.2012 変数の長さの配列種類は使用しないでください

19.1必須(Mandatory)はい

MISRA.ASSIGN.OVERLAP オブジェクトがオーバーラップするオブジェクトに割り当てられています

19.2推奨(Advisory)はい

MISRA.UNION 和集合が使用されています

20.1推奨(Advisory)はい

MISRA.INCL.INSIDE include ディレクティブの前にプリプロセッサ出力トークンがあります

20.2必要(Required)はい

MISRA.INCL.SYMS ヘッダーファイル名に非標準文字が使用されています

20.3必要(Required)はい

MISRA.INCL.BAD 非標準の include ディレクティブです

20.4必要(Required)はい

 

20.5推奨(Advisory)はい

MISRA.UNDEF 定義のない使用です

20.6必要(Required)はい

MISRA.EXPANSION.DIRECTIVE マクロの引数内にディレクティブのようなトークンがあります

20.7必要(Required)はい

 

20.8必要(Required)はい

 

20.9必要(Required)はい

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

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

20.10推奨(Advisory)はい

MISRA.DEFINE.SHARP マクロ定義に # 演算子または ## 演算子が使用されています

20.11必要(Required)はい

MISRA.DEFINE.SHARP.ORDER.2012 複数の '#' または '##' の評価の順番が指定されていません

20.12必要(Required)はい

MISRA.DEFINE.SHARP.REPLACE.2012 それ自身さらなるマクロ置換の影響を受ける、'#' または '##' 演算子のオペランドとして使用されるマクロパラメーターは、これらの演算子のオペランドとしてのみ使用される。

20.13必要(Required)はい

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

20.14必要(Required)はい

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

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

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

21.1必要(Required)はい

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

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

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

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

21.2必要(Required)はい

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

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

21.3必要(Required)はい

MISRA.STDLIB.MEMORY 動的ヒープメモリ割り当ての使用

21.4必要(Required)はい

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

21.5必要(Required)はい

MISRA.INCL.SIGNAL.2012 標準ヘッダーファイル signal.h は使用しない

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

21.6必要(Required)はい

MISRA.DEFINE.STDIO.WCHAR.2012 不適切なマクロ展開です

MISRA.INCL.STDIO.2012 標準ヘッダーファイル stdio.h は使用しない

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

MISRA.STDLIB.STDIO.WCHAR.2012 stdio.h からワイド文字と同等の識別子は使用しない

21.7必要(Required)はい

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

21.8必要(Required)はい

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

21.9必要(Required)はい

MISRA.STDLIB.BSEARCH.2012 ライブラリ stdlib.h の 'bsearch' または 'qsort' が使用されています

21.10必要(Required)はい

MISRA.DEFINE.WCSFTIME.2012 'wcsftime' の名前を持つマクロは拡張しない

MISRA.INCL.TIME.2012 標準ヘッダーファイル time.h は使用しない

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

MISRA.STDLIB.WCSFTIME.2012 識別子 'wcsftime' は使用しない

21.11必要(Required)はい

MISRA.INCL.TGMATH.2012 標準ヘッダーファイル tgmath.h は使用しない

21.12推奨(Advisory)はい

MISRA.STDLIB.FENV.2012 fenv.h からの浮動小数点の例外機能機能が使用されています

MISRA.STDLIB.FENV.MACRO.2012 fenv.h からの浮動小数点の例外機能機能が使用されています

22.1必要(Required)いいえ

FREE.INCONSISTENT メモリの解放が矛盾しています

MLK.MIGHT メモリリークの可能性

MLK.MUST メモリリーク

MLK.RET.MIGHT メモリリークの可能性

MLK.RET.MUST メモリリーク

RH.LEAK リソースリーク

22.2必須(Mandatory)いいえ

FMM.MIGHT メモリの解放の不一致の可能性

FMM.MUST メモリの解放の不一致

FNH.MIGHT 非ヒープメモリの解放の可能性

FNH.MUST 非ヒープメモリの解放

FUM.GEN.MIGHT 未割り当てメモリの解放の可能性

FUM.GEN.MUST 未割り当てメモリの解放

22.3必要(Required)いいえ

 

22.4必須(Mandatory)いいえ

MISRA.RESOURCES.FILE.READ_ONLY_WRITE.2012 読み取り専用として開かれたストリームに書き込んではなりません

22.5必須(Mandatory)いいえ

MISRA.FILE_PTR.DEREF.2012 FILE オブジェクトへのポインターは逆参照してはなりません

MISRA.FILE_PTR.DEREF.CAST.2012 オブジェクトは FILE ポインターにキャストされており、これを逆参照してはなりません。

MISRA.FILE_PTR.DEREF.INDIRECT.2012 FILE オブジェクトへのポインターは、システム関数で間接的に逆参照してはなりません

MISRA.FILE_PTR.DEREF.RETURN.2012 FILE オブジェクト(関数の戻り値)へのポインターは逆参照してはなりません

22.6必須(Mandatory)いいえ

MISRA.RESOURCES.FILE.USE_AFTER_CLOSE.2012 FILE を指し示すポインターの値は、関連するストリームが閉じられたあとは使用しないでください

サポートのサマリー

サポート対象合計:93 (C90)、94 (C99)