AUTOSAR 18-10: C and C++
You can use the AUTOSAR C++14 taxonomy to ensure compliance with the AUTOSAR C++14 Standard, release 18-10. The AUTOSAR C++14 (18-10) taxonomy detects violations of our both our Klocwork C/C++ checkers and our MISRA checkers.
| Rule | Checker name and description |
|---|---|
| " |
MISRA.INCL.SYMS Non-standard characters in header file names |
| #elif and #endif pre-processor directives shall reside in the same file as the #if or #ifdef directive to which they are related. |
MISRA.ELIF.OTHERFILE #elif in an improper file MISRA.ELSE.OTHERFILE #else in an improper file MISRA.ENDIF.OTHERFILE #endif in an improper file |
| && operator and the || operator shall not be overloaded. |
MISRA.BIN_OP.OVERLOAD Comma, || or && operator overloaded |
| (2) for hexadecimal |
AUTOSAR.DIGIT_SEPARATORS Digit sequences separators ' shall only be used as follows (1) for decimal, every 3 digits, (2) for hexadecimal, every 2 digits, (3) for binary, every 4 digits |
| (2) override |
AUTOSAR.MEMB.VIRTUAL.SPEC Virtual function declaration shall contain exactly one of the three specifiers: (1) virtual, (2) override, (3) final. |
| (2) std::forward if the value is forwarding reference. |
AUTOSAR.FORWARD Forwarding values to other functions shall be done via: (1) std::move if the value is an rvalue reference, (2) std::forward if the value is forwarding reference |
| (2) the first or (3) all enumerators shall be initialized. |
MISRA.ENUM.INIT Non-first enumerator is explicitly initialized, but not all elements are explicitly initialized. |
| (3) final. |
AUTOSAR.MEMB.VIRTUAL.SPEC Virtual function declaration shall contain exactly one of the three specifiers: (1) virtual, (2) override, (3) final. |
| (3) for binary |
AUTOSAR.DIGIT_SEPARATORS Digit sequences separators ' shall only be used as follows (1) for decimal, every 3 digits, (2) for hexadecimal, every 2 digits, (3) for binary, every 4 digits |
| ++ |
MISRA.FOR.INCR For loop counter is modified in an inappropriate way |
| /* |
MISRA.INCL.SYMS Non-standard characters in header file names |
| // |
MISRA.INCL.SYMS Non-standard characters in header file names |
| < |
MISRA.FOR.COND.EQ ++ or -- operations are not used to change loop counter, but condition tests loop counter for equality |
| > or >=. |
MISRA.FOR.COND.EQ ++ or -- operations are not used to change loop counter, but condition tests loop counter for equality |
| A0-1-2 (Required): The value returned by a function having a non-void return type that is not an overloaded operator shall be used. |
MISRA.FUNC.UNUSEDRET Return value of a non-void function is not used |
| A0-1-2 (req.) |
MISRA.FUNC.UNUSEDRET Return value of a non-void function is not used |
| A0-1-2 (必要): オーバーロードされた演算子ではない非 void 戻り値型を持つ関数によって返される値を使用する必要があります。 |
MISRA.FUNC.UNUSEDRET Return value of a non-void function is not used |
| A0-1-4 (Required): There shall be no unused named parameters in non-virtual functions. |
MISRA.FUNC.UNUSEDPAR Formal parameter of a non-virtual function is not used |
| A0-1-4 (req.) |
MISRA.FUNC.UNUSEDPAR Formal parameter of a non-virtual function is not used |
| A0-1-4 (必要): 非仮想関数に未使用の名前なしパラメーターがあってはなりません。 |
MISRA.FUNC.UNUSEDPAR Formal parameter of a non-virtual function is not used |
| A0-1-5 (Required): There shall be no unused named parameters in the set of parameters for a virtual function and all the functions that override it. |
MISRA.FUNC.VIRTUAL.UNUSEDPAR Formal parameter of a virtual function set is not used |
| A0-1-5 (req.) |
MISRA.FUNC.VIRTUAL.UNUSEDPAR Formal parameter of a virtual function set is not used |
| A0-1-5 (必要): 仮想関数およびそれをオーバーライドするすべての関数のパラメータセットには、未使用の名前なしパラメーターがあってはなりません。 |
MISRA.FUNC.VIRTUAL.UNUSEDPAR Formal parameter of a virtual function set is not used |
| A0-4-2 (Required): Type long double shall not be used. |
AUTOSAR.TYPE.LONG_DOUBLE Type long double shall not be used |
| A0-4-2 (req.) |
AUTOSAR.TYPE.LONG_DOUBLE Type long double shall not be used |
| A0-4-2 (必要): long double 型は使用してはなりません。 |
AUTOSAR.TYPE.LONG_DOUBLE Type long double shall not be used |
| A2-5-1 (Required): Trigraphs shall not be used. |
MISRA.CHAR.TRIGRAPH Trigraph usage |
| A2-5-1 (req.) |
MISRA.CHAR.TRIGRAPH Trigraph usage |
| A2-5-1 (必要): 3 文字表記は使用してはなりません。 |
MISRA.CHAR.TRIGRAPH Trigraph usage |
| A2-5-2 (Required): Digraphs shall not be used. |
MISRA.CHAR.DIGRAPH Digraph usage |
| A2-5-2 (req.) |
MISRA.CHAR.DIGRAPH Digraph usage |
| A2-5-2 (必要): 2 文字表記は使用してはなりません。 |
MISRA.CHAR.DIGRAPH Digraph usage |
| A2-7-2 (Required): Sections of code shall not be “commented out”. |
MISRA.TOKEN.COMMENTED.CODE Comment appears to contain commented out source code |
| A2-7-2 (req.) |
MISRA.TOKEN.COMMENTED.CODE Comment appears to contain commented out source code |
| A2-7-2 (必要): コードのセクションは「コメントアウト」してはなりません。 |
MISRA.TOKEN.COMMENTED.CODE Comment appears to contain commented out source code |
| A2-10-5 (Advisory): An identifier name of a function with static storage duration or a non-member object with external or internal linkage should not be reused. |
MISRA.VAR.UNIQUE.STATIC Identifier with static storage specifier clashes with other identifier |
| A2-10-5 (adv.) |
MISRA.VAR.UNIQUE.STATIC Identifier with static storage specifier clashes with other identifier |
| A2-10-5 (推奨): 静的記憶期間を持つ関数、または外部もしくは内部リンクを持つ非メンバーオブジェクトの識別子名は、再利用してはなりません。 |
MISRA.VAR.UNIQUE.STATIC Identifier with static storage specifier clashes with other identifier |
| A2-10-6 (Required): A class or enumeration name shall not be hidden by a variable |
MISRA.TYPE.NAMECLASH.CPP.2008 Identifier in one name space has same spelling as identifier in other name space |
| A2-10-6 (req.) |
MISRA.TYPE.NAMECLASH.CPP.2008 Identifier in one name space has same spelling as identifier in other name space |
| A2-10-6 (必要): クラス名または列挙名は、同じスコープ内の変数、関数、または列挙子の宣言によって隠蔽されてはなりません。 |
MISRA.TYPE.NAMECLASH.CPP.2008 Identifier in one name space has same spelling as identifier in other name space |
| A2-11-1 (Required): Volatile keyword shall not be used. |
AUTOSAR.TYPE.QUAL.VOLATILE The volatile type qualifier shall not be used |
| A2-11-1 (req.) |
AUTOSAR.TYPE.QUAL.VOLATILE The volatile type qualifier shall not be used |
| A2-11-1 (必要): Volatile キーワードを使用してはなりません。 |
AUTOSAR.TYPE.QUAL.VOLATILE The volatile type qualifier shall not be used |
| A2-13-1 (Required): Only those escape sequences that are defined in ISO/IEC 14882:2014 shall be used. |
MISRA.TOKEN.WRONGESC.CPP.2008 Incorrect escape sequence in a literal |
| A2-13-1 (req.) |
MISRA.TOKEN.WRONGESC.CPP.2008 Incorrect escape sequence in a literal |
| A2-13-1 (必要): ISO/IEC 14882:2014 で定義されているエスケープシーケンスのみを使用する必要があります。 |
MISRA.TOKEN.WRONGESC.CPP.2008 Incorrect escape sequence in a literal |
| A2-13-3 (Required): Type wchar_t shall not be used. |
AUTOSAR.TYPE.WCHAR_T Type wchar_t shall not be used |
| A2-13-3 (req.) |
AUTOSAR.TYPE.WCHAR_T Type wchar_t shall not be used |
| A2-13-3 (必要): wchar_t 型は使用してはなりません。 |
AUTOSAR.TYPE.WCHAR_T Type wchar_t shall not be used |
| A2-13-4 (Required): String literals shall not be assigned to non-constant pointers. |
AUTOSAR.ADD.STR.TO.NON.CONST String literals shall not be assigned to non-constant pointers |
| A2-13-4 (req.) |
AUTOSAR.ADD.STR.TO.NON.CONST String literals shall not be assigned to non-constant pointers |
| A2-13-4 (必要): 文字列リテラルを非定数ポインターに割り当ててはなりません。 |
AUTOSAR.ADD.STR.TO.NON.CONST String literals shall not be assigned to non-constant pointers |
| A2-13-5 (Advisory): Hexadecimal constants should be upper case. |
AUTOSAR.HEX.UPPER Hexadecimal constants should be upper case |
| A2-13-5 (adv.) |
AUTOSAR.HEX.UPPER Hexadecimal constants should be upper case |
| A2-13-5 (推奨): 16 進定数は大文字で記述する必要があります。 |
AUTOSAR.HEX.UPPER Hexadecimal constants should be upper case |
| A3-1-1 (Required): It shall be possible to include any header file in multiple translation units without violating the One Definition Rule. |
AUTOSAR.ADD.ONEDEFRULE.FUNC Function is violating one definition rule AUTOSAR.ADD.ONEDEFRULE.VAR Variable is violating one definition rule |
| A3-1-1 (req.) |
AUTOSAR.ADD.ONEDEFRULE.FUNC Function is violating one definition rule AUTOSAR.ADD.ONEDEFRULE.VAR Variable is violating one definition rule |
| A3-1-1 (必要): One Definition Rule に違反せずに任意のヘッダーファイルを複数の翻訳単位に含めることが可能でなければなりません。 |
AUTOSAR.ADD.ONEDEFRULE.FUNC Function is violating one definition rule AUTOSAR.ADD.ONEDEFRULE.VAR Variable is violating one definition rule |
| A3-1-3 (Advisory): Implementation files |
AUTOSAR.ADD.FILE.EXT Local implementation files not having .cpp file extension |
| A3-1-3 (adv.) |
AUTOSAR.ADD.FILE.EXT Local implementation files not having .cpp file extension |
| A3-1-3 (推奨): プロジェクト内でローカルに定義される実装ファイルのファイル名拡張子は「.cpp」でなければなりません。 |
AUTOSAR.ADD.FILE.EXT Local implementation files not having .cpp file extension |
| A3-1-4 (Required): When an array with external linkage is declared |
MISRA.DECL.ARRAY_SIZE Declaration of array with unknown size |
| A3-1-4 (req.) |
MISRA.DECL.ARRAY_SIZE Declaration of array with unknown size |
| A3-1-4 (必要): 外部リンクを持つ配列を宣言する場合は、そのサイズを明示的に指定しなければなりません。 |
MISRA.DECL.ARRAY_SIZE Declaration of array with unknown size |
| A3-1-5 (Required): A function definition shall only be placed in a class definition if (1) the function is intended to be inlined (2) it is a member function template (3) it is a member function of a class template. |
AUTOSAR.FUNC.INLINE_DEF A function definition shall only be placed in a class definition if (1) the function is intended to be inlined (2); it is a member function template; (3) it is a member function of a class template |
| A3-1-5 (req.) |
AUTOSAR.FUNC.INLINE_DEF A function definition shall only be placed in a class definition if (1) the function is intended to be inlined (2); it is a member function template; (3) it is a member function of a class template |
| A3-1-5 (必要): 関数定義をクラス定義内に配置できるのは、(1) その関数がインライン化される予定であるか、(2) それがメンバー関数テンプレートであるか、(3) それがクラステンプレートのメンバー関数である場合のみです。 |
AUTOSAR.FUNC.INLINE_DEF A function definition shall only be placed in a class definition if (1) the function is intended to be inlined (2); it is a member function template; (3) it is a member function of a class template |
| A3-3-1 (Required): Objects or functions with external linkage (including members of named namespaces) shall be declared in a header file. |
MISRA.LINKAGE.EXTERN Object or function declaration with external linkage not in header file |
| A3-3-1 (req.) |
MISRA.LINKAGE.EXTERN Object or function declaration with external linkage not in header file |
| A3-3-1 (必要): 外部リンク (名前付き名前空間のメンバーを含む) を持つオブジェクトまたは関数は、ヘッダーファイル内で宣言しなければなりません。 |
MISRA.LINKAGE.EXTERN Object or function declaration with external linkage not in header file |
| A3-9-1 (Required): Fixed width integer types from <cstdint> |
AUTOSAR.BUILTIN_NUMERIC Fixed width integer types from <cstdint> shall be used in place of the basic numerical types |
| A3-9-1 (req.) |
AUTOSAR.BUILTIN_NUMERIC Fixed width integer types from <cstdint> shall be used in place of the basic numerical types |
| A3-9-1 (必要): 基本的な数値型の代わりに、サイズと符号を示す、<cstdint> で提供される固定幅の整数型を使用しなければなりません。 |
AUTOSAR.BUILTIN_NUMERIC Fixed width integer types from <cstdint> shall be used in place of the basic numerical types |
| A4-5-1 (Required): Expressions with type enum or enum class shall not be used as operands to built-in and overloaded operators. |
AUTOSAR.ADD.ENUM.OP Enum shall not be used in arithmetic context |
| A4-5-1 (req.) |
AUTOSAR.ADD.ENUM.OP Enum shall not be used in arithmetic context |
| A4-5-1 (必要): enum または enum class 型の式は、組み込み演算子およびオーバーロードされる演算子のオペランドとして使用してはなりません。 |
AUTOSAR.ADD.ENUM.OP Enum shall not be used in arithmetic context |
| A4-10-1 (Required): Only nullptr literal shall be used as the null-pointer-constant. |
AUTOSAR.ADD.NULLPTR Only nullptr literal shall be used as the null-pointer-constant |
| A4-10-1 (req.) |
AUTOSAR.ADD.NULLPTR Only nullptr literal shall be used as the null-pointer-constant |
| A4-10-1 (必要): nullptr リテラルのみを null ポインター定数として使用しなければなりません。 |
AUTOSAR.ADD.NULLPTR Only nullptr literal shall be used as the null-pointer-constant |
| A5-0-1 (Required): The value of an expression shall be the same under any order of evaluation that the standard permits. |
AUTOSAR.ADD.EXPR.EVAL.MULTI.CALL The value of an expression shall be the same under any order of evaluation that the standard permits AUTOSAR.ADD.EXPR.EVAL.VOLATILE The value of an expression shall be the same under any order of evaluation that the standard permits |
| A5-0-1 (req.) |
AUTOSAR.ADD.EXPR.EVAL.MULTI.CALL The value of an expression shall be the same under any order of evaluation that the standard permits AUTOSAR.ADD.EXPR.EVAL.VOLATILE The value of an expression shall be the same under any order of evaluation that the standard permits |
| A5-0-1 (必要): 式の値は、標準で許可されている評価順序に関係なく同じでなければなりません。 |
AUTOSAR.ADD.EXPR.EVAL.MULTI.CALL The value of an expression shall be the same under any order of evaluation that the standard permits AUTOSAR.ADD.EXPR.EVAL.VOLATILE The value of an expression shall be the same under any order of evaluation that the standard permits |
| A5-0-2 (Required): The condition of an if-statement and the condition of an iteration statement shall have type bool. |
AUTOSAR.ADD.COND.NOT.BOOL The condition of an if-statement and iteration statement shall have type bool AUTOSAR.ADD.LOGIC.NOT_BOOL The condition of an if-statement and iteration statement shall have type bool |
| A5-0-2 (req.) |
AUTOSAR.ADD.COND.NOT.BOOL The condition of an if-statement and iteration statement shall have type bool AUTOSAR.ADD.LOGIC.NOT_BOOL The condition of an if-statement and iteration statement shall have type bool |
| A5-0-2 (必要): if ステートメントおよび反復ステートメントの条件は bool 型でなければなりません。 |
AUTOSAR.ADD.COND.NOT.BOOL The condition of an if-statement and iteration statement shall have type bool AUTOSAR.ADD.LOGIC.NOT_BOOL The condition of an if-statement and iteration statement shall have type bool |
| A5-0-3 (Required): The declaration of objects shall contain no more than two levels of pointer indirection. |
MISRA.PTR.TO_PTR_TO_PTR Pointer declaration has more than two levels of indirection |
| A5-0-3 (req.) |
MISRA.PTR.TO_PTR_TO_PTR Pointer declaration has more than two levels of indirection |
| A5-0-3 (必要): オブジェクトの宣言には、2 レベルを超えるポインター間接参照を含めないでください。 |
MISRA.PTR.TO_PTR_TO_PTR Pointer declaration has more than two levels of indirection |
| A5-1-1 (Required): Literal values shall not be used apart from type initialization |
AUTOSAR.ADD.LITERAL Literal values shall not be used apart from type initialization |
| A5-1-1 (req.) |
AUTOSAR.ADD.LITERAL Literal values shall not be used apart from type initialization |
| A5-1-1 (必要): リテラル値は、型の初期化以外では使用してはなりません。もしくは、代わりにシンボリック名を使用してください。 |
AUTOSAR.ADD.LITERAL Literal values shall not be used apart from type initialization |
| A5-1-2 (Required): Variables shall not be implicitly captured in a lambda expression. |
AUTOSAR.LAMBDA.IMPLICIT_CAPTURE Variables shall not be implicitly captured in a lambda expression |
| A5-1-2 (req.) |
AUTOSAR.LAMBDA.IMPLICIT_CAPTURE Variables shall not be implicitly captured in a lambda expression |
| A5-1-2 (必要): 変数はラムダ式で暗黙的にキャプチャしてはなりません。 |
AUTOSAR.LAMBDA.IMPLICIT_CAPTURE Variables shall not be implicitly captured in a lambda expression |
| A5-1-3 (Required): Parameter list (possibly empty) shall be included in every lambda expression. |
AUTOSAR.LAMBDA.NO_PARAM_LIST Parameter list (possibly empty) shall be included in every lambda expression |
| A5-1-3 (req.) |
AUTOSAR.LAMBDA.NO_PARAM_LIST Parameter list (possibly empty) shall be included in every lambda expression |
| A5-1-3 (必要): パラメーターリスト (空の可能性がある) はすべてのラムダ式に含めなければなりません。 |
AUTOSAR.LAMBDA.NO_PARAM_LIST Parameter list (possibly empty) shall be included in every lambda expression |
| A5-1-4 (Required): A lambda expression object shall not outlive any of its reference-captured objects. |
AUTOSAR.LAMBDA.REF_LIFETIME A lambda expression object shall not outlive any of its reference-captured objects |
| A5-1-4 (req.) |
AUTOSAR.LAMBDA.REF_LIFETIME A lambda expression object shall not outlive any of its reference-captured objects |
| A5-1-4 (必要): ラムダ式オブジェクトは、その参照キャプチャされたオブジェクトよりも長く存続してはなりません。 |
AUTOSAR.LAMBDA.REF_LIFETIME A lambda expression object shall not outlive any of its reference-captured objects |
| A5-1-6 (Advisory): Return type of a non-void return type lambda expression should be explicitly specified. |
AUTOSAR.LAMBDA.IMPLICIT_RETURN_TYPE Return type of a non-void return type lambda expression should be explicitly specified |
| A5-1-6 (adv.) |
AUTOSAR.LAMBDA.IMPLICIT_RETURN_TYPE Return type of a non-void return type lambda expression should be explicitly specified |
| A5-1-6 (推奨): 非 void 戻り型ラムダ式の戻り型は明示的に指定しなければなりません。 |
AUTOSAR.LAMBDA.IMPLICIT_RETURN_TYPE Return type of a non-void return type lambda expression should be explicitly specified |
| A5-1-7 (Required): A lambda shall not be an operand to decltype or typeid. |
AUTOSAR.LAMBDA.TYPE_OPERAND A lambda shall not be an operand to decltype or typeid |
| A5-1-7 (req.) |
AUTOSAR.LAMBDA.TYPE_OPERAND A lambda shall not be an operand to decltype or typeid |
| A5-1-7 (必要): ラムダを decltype または typeid のオペランドにしてはなりません。 |
AUTOSAR.LAMBDA.TYPE_OPERAND A lambda shall not be an operand to decltype or typeid |
| A5-1-8 (Advisory): Lambda expressions should not be defined inside another lambda expression. |
AUTOSAR.LAMBDA.NESTED Lambda expressions should not be defined inside another lambda expression |
| A5-1-8 (adv.) |
AUTOSAR.LAMBDA.NESTED Lambda expressions should not be defined inside another lambda expression |
| A5-1-8 (推奨): ラムダ式を他のラムダ式内で定義してはなりません。 |
AUTOSAR.LAMBDA.NESTED Lambda expressions should not be defined inside another lambda expression |
| A5-2-1 (Advisory): dynamic_cast should not be used. |
AUTOSAR.CAST.DYNAMIC dynamic_cast should not be used |
| A5-2-1 (adv.) |
AUTOSAR.CAST.DYNAMIC dynamic_cast should not be used |
| A5-2-1 (推奨): dynamic_cast は使用してはなりません。 |
AUTOSAR.CAST.DYNAMIC dynamic_cast should not be used |
| A5-2-2 (Required): Traditional C-style casts shall not be used. |
AUTOSAR.CAST.CSTYLE Traditional C-style casts shall not be used |
| A5-2-2 (req.) |
AUTOSAR.CAST.CSTYLE Traditional C-style casts shall not be used |
| A5-2-2 (必要): 従来の C スタイルのキャストは使用してはなりません。 |
AUTOSAR.CAST.CSTYLE Traditional C-style casts shall not be used |
| A5-2-3 (Required): A cast shall not remove any const or volatile qualification from the type of a pointer or reference. |
MISRA.CAST.CONST Cast operation removes const or volatile modifier from a pointer or reference |
| A5-2-3 (req.) |
MISRA.CAST.CONST Cast operation removes const or volatile modifier from a pointer or reference |
| A5-2-3 (必要): キャストでは、ポインターまたは参照の型から const または volatile 修飾を削除してはなりません。 |
MISRA.CAST.CONST Cast operation removes const or volatile modifier from a pointer or reference |
| A5-2-4 (Required): reinterpret_cast shall not be used. |
AUTOSAR.CAST.REINTERPRET reinterpret_cast shall not be used |
| A5-2-4 (req.) |
AUTOSAR.CAST.REINTERPRET reinterpret_cast shall not be used |
| A5-2-4 (必要): reinterpret_cast は使用してはなりません。 |
AUTOSAR.CAST.REINTERPRET reinterpret_cast shall not be used |
| A5-2-5 (Required): An array or container shall not be accessed beyond its range. |
ABV.ANY_SIZE_ARRAY Buffer Overflow - Array Index Out of Bounds ABV.GENERAL Buffer Overflow - Array Index Out of Bounds ABV.GENERAL.MULTIDIMENSION Buffer Overflow - Array Index Out of Bounds ABV.ITERATOR Buffer Overflow - Array Index may be out of Bounds ABV.MEMBER Buffer Overflow - Array Index Out of Bounds ABV.NON_ARRAY Non-array object is used as an array ABV.STACK Buffer Overflow - Local Array Index Out of Bounds ABV.TAINTED Buffer Overflow from Unvalidated Input ABV.UNICODE.BOUND_MAP Buffer overflow in mapping character function ABV.UNICODE.FAILED_MAP Mapping function failed ABV.UNICODE.NNTS_MAP Buffer overflow in mapping character function ABV.UNICODE.SELF_MAP Mapping function failed ABV.UNKNOWN_SIZE Buffer Overflow - Array Index Out of Bounds |
| A5-2-5 (req.) |
ABV.ANY_SIZE_ARRAY Buffer Overflow - Array Index Out of Bounds ABV.GENERAL Buffer Overflow - Array Index Out of Bounds ABV.GENERAL.MULTIDIMENSION Buffer Overflow - Array Index Out of Bounds ABV.ITERATOR Buffer Overflow - Array Index may be out of Bounds ABV.MEMBER Buffer Overflow - Array Index Out of Bounds ABV.NON_ARRAY Non-array object is used as an array ABV.STACK Buffer Overflow - Local Array Index Out of Bounds ABV.TAINTED Buffer Overflow from Unvalidated Input ABV.UNICODE.BOUND_MAP Buffer overflow in mapping character function ABV.UNICODE.FAILED_MAP Mapping function failed ABV.UNICODE.NNTS_MAP Buffer overflow in mapping character function ABV.UNICODE.SELF_MAP Mapping function failed ABV.UNKNOWN_SIZE Buffer Overflow - Array Index Out of Bounds |
| A5-2-5 (必要): 配列またはコンテナーにはその範囲を超えてアクセスしてはなりません。 |
ABV.ANY_SIZE_ARRAY Buffer Overflow - Array Index Out of Bounds ABV.GENERAL Buffer Overflow - Array Index Out of Bounds ABV.GENERAL.MULTIDIMENSION Buffer Overflow - Array Index Out of Bounds ABV.ITERATOR Buffer Overflow - Array Index may be out of Bounds ABV.MEMBER Buffer Overflow - Array Index Out of Bounds ABV.NON_ARRAY Non-array object is used as an array ABV.STACK Buffer Overflow - Local Array Index Out of Bounds ABV.TAINTED Buffer Overflow from Unvalidated Input ABV.UNICODE.BOUND_MAP Buffer overflow in mapping character function ABV.UNICODE.FAILED_MAP Mapping function failed ABV.UNICODE.NNTS_MAP Buffer overflow in mapping character function ABV.UNICODE.SELF_MAP Mapping function failed ABV.UNKNOWN_SIZE Buffer Overflow - Array Index Out of Bounds |
| A5-2-6 (Required): The operands of a logical && or \\ shall be parenthesized if the operands contain binary operators. |
MISRA.LOGIC.POSTFIX Operand in a logical 'and' or 'or' expression is not a postfix expression |
| A5-2-6 (req.) |
MISRA.LOGIC.POSTFIX Operand in a logical 'and' or 'or' expression is not a postfix expression |
| A5-2-6 (必要): 論理演算子 && または \\ のオペランドにバイナリ演算子が含まれている場合は、そのオペランドを括弧で囲まなければなりません。 |
MISRA.LOGIC.POSTFIX Operand in a logical 'and' or 'or' expression is not a postfix expression |
| A5-3-2 (Required): Null pointers shall not be dereferenced. |
NPD.CHECK.CALL.MIGHT Pointer may be passed to function that can dereference it after it was positively checked for NULL NPD.CHECK.CALL.MUST Pointer will be passed to function that may dereference it after it was positively checked for NULL NPD.CHECK.MIGHT Pointer may be dereferenced after it was positively checked for NULL NPD.CHECK.MUST Pointer will be dereferenced after it was positively checked for NULL NPD.CONST.CALL NULL is passed to function that can dereference it NPD.CONST.DEREF NULL is dereferenced NPD.FUNC.CALL.MIGHT Result of function that may return NULL may be passed to another function that may dereference it NPD.FUNC.CALL.MUST Result of function that may return NULL will be passed to another function that may dereference it NPD.FUNC.MIGHT Result of function that can return NULL may be dereferenced NPD.FUNC.MUST Result of function that may return NULL will be dereferenced NPD.GEN.CALL.MIGHT Null pointer may be passed to function that may dereference it NPD.GEN.CALL.MUST Null pointer will be passed to function that may dereference it NPD.GEN.MIGHT Null pointer may be dereferenced NPD.GEN.MUST Null pointer will be dereferenced |
| A5-3-2 (req.) |
NPD.CHECK.CALL.MIGHT Pointer may be passed to function that can dereference it after it was positively checked for NULL NPD.CHECK.CALL.MUST Pointer will be passed to function that may dereference it after it was positively checked for NULL NPD.CHECK.MIGHT Pointer may be dereferenced after it was positively checked for NULL NPD.CHECK.MUST Pointer will be dereferenced after it was positively checked for NULL NPD.CONST.CALL NULL is passed to function that can dereference it NPD.CONST.DEREF NULL is dereferenced NPD.FUNC.CALL.MIGHT Result of function that may return NULL may be passed to another function that may dereference it NPD.FUNC.CALL.MUST Result of function that may return NULL will be passed to another function that may dereference it NPD.FUNC.MIGHT Result of function that can return NULL may be dereferenced NPD.FUNC.MUST Result of function that may return NULL will be dereferenced NPD.GEN.CALL.MIGHT Null pointer may be passed to function that may dereference it NPD.GEN.CALL.MUST Null pointer will be passed to function that may dereference it NPD.GEN.MIGHT Null pointer may be dereferenced NPD.GEN.MUST Null pointer will be dereferenced |
| A5-3-2 (必要): null ポインターを逆参照してはなりません。 |
NPD.CHECK.CALL.MIGHT Pointer may be passed to function that can dereference it after it was positively checked for NULL NPD.CHECK.CALL.MUST Pointer will be passed to function that may dereference it after it was positively checked for NULL NPD.CHECK.MIGHT Pointer may be dereferenced after it was positively checked for NULL NPD.CHECK.MUST Pointer will be dereferenced after it was positively checked for NULL NPD.CONST.CALL NULL is passed to function that can dereference it NPD.CONST.DEREF NULL is dereferenced NPD.FUNC.CALL.MIGHT Result of function that may return NULL may be passed to another function that may dereference it NPD.FUNC.CALL.MUST Result of function that may return NULL will be passed to another function that may dereference it NPD.FUNC.MIGHT Result of function that can return NULL may be dereferenced NPD.FUNC.MUST Result of function that may return NULL will be dereferenced NPD.GEN.CALL.MIGHT Null pointer may be passed to function that may dereference it NPD.GEN.CALL.MUST Null pointer will be passed to function that may dereference it NPD.GEN.MIGHT Null pointer may be dereferenced NPD.GEN.MUST Null pointer will be dereferenced |
| A5-6-1 (Required): The right hand operand of the integer division or remainder operators shall not be equal to zero. |
DBZ.CONST Division by a zero constant occurs DBZ.CONST.CALL The value '0' is passed to function that can use this value as divisor DBZ.GENERAL Division by zero might occur DBZ.GENERAL.FLOAT Division by floating-point zero might occur DBZ.ITERATOR Division by zero might occur in a loop iterator DBZ.ITERATOR.CALL Division by zero might occur in a function call DBZ.ITERATOR.FLOAT Division by zero might occur in a loop iterator |
| A5-6-1 (req.) |
DBZ.CONST Division by a zero constant occurs DBZ.CONST.CALL The value '0' is passed to function that can use this value as divisor DBZ.GENERAL Division by zero might occur DBZ.GENERAL.FLOAT Division by floating-point zero might occur DBZ.ITERATOR Division by zero might occur in a loop iterator DBZ.ITERATOR.CALL Division by zero might occur in a function call DBZ.ITERATOR.FLOAT Division by zero might occur in a loop iterator |
| A5-6-1 (必要): 整数の除算または剰余演算子の右側のオペランドはゼロになってはなりません。 |
DBZ.CONST Division by a zero constant occurs DBZ.CONST.CALL The value '0' is passed to function that can use this value as divisor DBZ.GENERAL Division by zero might occur DBZ.GENERAL.FLOAT Division by floating-point zero might occur DBZ.ITERATOR Division by zero might occur in a loop iterator DBZ.ITERATOR.CALL Division by zero might occur in a function call DBZ.ITERATOR.FLOAT Division by zero might occur in a loop iterator |
| A5-10-1 (Required): A pointer to member virtual function shall only be tested for equality with null-pointer-constant. |
AUTOSAR.VIRTUAL.PTR_COMPARE A pointer to member virtual function shall only be tested for equality with null-pointer-constant |
| A5-10-1 (req.) |
AUTOSAR.VIRTUAL.PTR_COMPARE A pointer to member virtual function shall only be tested for equality with null-pointer-constant |
| A5-10-1 (必要): メンバー仮想関数を指すポインターのテストは、null ポインター定数との等価を確認する目的でのみ行わなければなりません。 |
AUTOSAR.VIRTUAL.PTR_COMPARE A pointer to member virtual function shall only be tested for equality with null-pointer-constant |
| A5-16-1 (Required): The ternary conditional operator shall not be used as a sub-expression. |
AUTOSAR.TERNARY.NESTED The ternary conditional operator shall not be used as a sub-expression |
| A5-16-1 (req.) |
AUTOSAR.TERNARY.NESTED The ternary conditional operator shall not be used as a sub-expression |
| A5-16-1 (必要): 3 項条件演算子を部分式として使用してはなりません。 |
AUTOSAR.TERNARY.NESTED The ternary conditional operator shall not be used as a sub-expression |
| A6-2-1 (Required): Move and copy assignment operators shall either move or respectively copy base classes and data members of a class |
AUTOSAR.ADD.ASSIGN.OP.SIDE.EFFECT Move and copy assignment operators shall either move or respectively copy base classes and data members of a class, without any side effects |
| A6-2-1 (req.) |
AUTOSAR.ADD.ASSIGN.OP.SIDE.EFFECT Move and copy assignment operators shall either move or respectively copy base classes and data members of a class, without any side effects |
| A6-2-1 (必要): move および copy 代入演算子は、副作用を発生させることなく基底クラスとクラスのデータメンバーの移動または個別コピーを行わなければなりません。 |
AUTOSAR.ADD.ASSIGN.OP.SIDE.EFFECT Move and copy assignment operators shall either move or respectively copy base classes and data members of a class, without any side effects |
| A6-4-1 (Required): A switch statement shall have at least two case-clauses |
AUTOSAR.SWITCH.CASECOUNT A switch statement shall have at least two case-clauses, distinct from the default label |
| A6-4-1 (req.) |
AUTOSAR.SWITCH.CASECOUNT A switch statement shall have at least two case-clauses, distinct from the default label |
| A6-4-1 (必要): switch ステートメントには、デフォルトのラベルとは異なる 2 つ以上の case 節を指定しなければなりません。 |
AUTOSAR.SWITCH.CASECOUNT A switch statement shall have at least two case-clauses, distinct from the default label |
| A6-5-2 (Required): A for loop shall contain a single loop-counter which shall not have floating-point type. |
MISRA.FOR.COUNTER.FLT For loop counter has a floating point type MISRA.FOR.COUNTER.MANY Many counters in a for loop |
| A6-5-2 (req.) |
MISRA.FOR.COUNTER.FLT For loop counter has a floating point type MISRA.FOR.COUNTER.MANY Many counters in a for loop |
| A6-5-2 (必要): for ループには、浮動小数点型ではない単一のループカウンターを含めなければなりません。 |
MISRA.FOR.COUNTER.FLT For loop counter has a floating point type MISRA.FOR.COUNTER.MANY Many counters in a for loop |
| A6-5-3 (Advisory): Do statements should not be used. |
AUTOSAR.DO Do statements should not be used |
| A6-5-3 (adv.) |
AUTOSAR.DO Do statements should not be used |
| A6-5-3 (推奨): do ステートメントは使用してはなりません。 |
AUTOSAR.DO Do statements should not be used |
| A6-5-4 (Advisory): For-init-statement and expression should not perform actions other than loop-counter initialization and modification. |
MISRA.FOR.COUNTER.MANY Many counters in a for loop |
| A6-5-4 (adv.) |
MISRA.FOR.COUNTER.MANY Many counters in a for loop |
| A6-5-4 (推奨): for-init-statement および for-init-expression によってループカウンターの初期化と変更以外のアクションを実行してはなりません。 |
MISRA.FOR.COUNTER.MANY Many counters in a for loop |
| A6-6-1 (Required): The goto statement shall not be used. |
AUTOSAR.GOTO The goto statement shall not be used |
| A6-6-1 (req.) |
AUTOSAR.GOTO The goto statement shall not be used |
| A6-6-1 (必要): goto ステートメントは使用してはなりません。 |
AUTOSAR.GOTO The goto statement shall not be used |
| A7-1-1 (Required): Constexpr or const specifiers shall be used for immutable data declaration. |
MISRA.VAR.NEEDS.CONST Variable is not modified but is declared without const qualifier |
| A7-1-1 (req.) |
MISRA.VAR.NEEDS.CONST Variable is not modified but is declared without const qualifier |
| A7-1-1 (必要): イミュータブルデータ宣言には、constexpr または const 指定子を使用しなければなりません。 |
MISRA.VAR.NEEDS.CONST Variable is not modified but is declared without const qualifier |
| A7-1-3 (Required): CV-qualifiers shall be placed on the right hand side of the type that is a typedef or a using name. |
AUTOSAR.TYPEDEF.CVQ_EAST CV-qualifiers shall be placed on the right hand side of the type that is a typedef or a using name |
| A7-1-3 (req.) |
AUTOSAR.TYPEDEF.CVQ_EAST CV-qualifiers shall be placed on the right hand side of the type that is a typedef or a using name |
| A7-1-3 (必要): CV 修飾子は、typedef または using name である型の右側に置かなければなりません。 |
AUTOSAR.TYPEDEF.CVQ_EAST CV-qualifiers shall be placed on the right hand side of the type that is a typedef or a using name |
| A7-1-4 (Required): The register keyword shall not be used. |
AUTOSAR.REGISTER The register keyword shall not be used |
| A7-1-4 (req.) |
AUTOSAR.REGISTER The register keyword shall not be used |
| A7-1-4 (必要): register キーワードは使用してはなりません。 |
AUTOSAR.REGISTER The register keyword shall not be used |
| A7-1-5 (Required): The auto specifier shall not be used apart from following cases: ... |
AUTOSAR.ADD.AUTO.SPECIFIER The auto specifier shall not be used here |
| A7-1-5 (req.) |
AUTOSAR.ADD.AUTO.SPECIFIER The auto specifier shall not be used here |
| A7-1-5 (必要): auto 指定子は、次の場合を除き、使用してはなりません。... |
AUTOSAR.ADD.AUTO.SPECIFIER The auto specifier shall not be used here |
| A7-1-6 (Required): The typedef specifier shall not be used. |
AUTOSAR.TYPEDEF The typedef specifier shall not be used |
| A7-1-6 (req.) |
AUTOSAR.TYPEDEF The typedef specifier shall not be used |
| A7-1-6 (必要): typedef 指定子は使用してはなりません。 |
AUTOSAR.TYPEDEF The typedef specifier shall not be used |
| A7-1-7 (Required): Each expression statement and identifier declaration shall be placed on a separate line. |
AUTOSAR.STYLE.SINGLE_DECL_PER_LINE Each expression statement and identifier declaration shall be placed on a separate line AUTOSAR.STYLE.SINGLE_STMT_PER_LINE Each expression statement and identifier declaration shall be placed on a separate line |
| A7-1-7 (req.) |
AUTOSAR.STYLE.SINGLE_DECL_PER_LINE Each expression statement and identifier declaration shall be placed on a separate line AUTOSAR.STYLE.SINGLE_STMT_PER_LINE Each expression statement and identifier declaration shall be placed on a separate line |
| A7-1-7 (必要): 各式ステートメントと識別子宣言は、個別の行に配置しなければなりません。 |
AUTOSAR.STYLE.SINGLE_DECL_PER_LINE Each expression statement and identifier declaration shall be placed on a separate line AUTOSAR.STYLE.SINGLE_STMT_PER_LINE Each expression statement and identifier declaration shall be placed on a separate line |
| A7-1-8 (Required): A non-type specifier shall be placed before a type specifier in a declaration. |
AUTOSAR.DECL.NONTYPE_SPECIFIER A non-type specifier shall be placed before a type specifier in a declaration |
| A7-1-8 (req.) |
AUTOSAR.DECL.NONTYPE_SPECIFIER A non-type specifier shall be placed before a type specifier in a declaration |
| A7-1-8 (必要): 宣言では、型指定子以外の指定子は型指定子の前に置かなければなりません。 |
AUTOSAR.DECL.NONTYPE_SPECIFIER A non-type specifier shall be placed before a type specifier in a declaration |
| A7-1-9 (Required): A class |
AUTOSAR.DECL.IN_DEFN A class, structure, or enumeration shall not be declared in the definition of its type |
| A7-1-9 (req.) |
AUTOSAR.DECL.IN_DEFN A class, structure, or enumeration shall not be declared in the definition of its type |
| A7-1-9 (必要): クラス、構造体、または列挙をその型の定義で宣言してはなりません。 |
AUTOSAR.DECL.IN_DEFN A class, structure, or enumeration shall not be declared in the definition of its type |
| A7-2-2 (Required): Enumeration underlying base type shall be explicitly defined. |
AUTOSAR.ENUM.EXPLICIT_BASE_TYPE Enumeration underlying base type shall be explicitly defined |
| A7-2-2 (req.) |
AUTOSAR.ENUM.EXPLICIT_BASE_TYPE Enumeration underlying base type shall be explicitly defined |
| A7-2-2 (必要): 列挙の基になるベース型は、明示的に定義しなければなりません。 |
AUTOSAR.ENUM.EXPLICIT_BASE_TYPE Enumeration underlying base type shall be explicitly defined |
| A7-2-3 (Required): Enumerations shall be declared as scoped enum classes. |
AUTOSAR.ENUM.UNSCOPED Enumerations shall be declared as scoped enum classes |
| A7-2-3 (req.) |
AUTOSAR.ENUM.UNSCOPED Enumerations shall be declared as scoped enum classes |
| A7-2-3 (必要): 列挙は、スコープ付きの enum クラスとして宣言しなければなりません。 |
AUTOSAR.ENUM.UNSCOPED Enumerations shall be declared as scoped enum classes |
| A7-2-4 (Required): In an enumeration |
MISRA.ENUM.INIT Non-first enumerator is explicitly initialized, but not all elements are explicitly initialized. |
| A7-2-4 (req.) |
MISRA.ENUM.INIT Non-first enumerator is explicitly initialized, but not all elements are explicitly initialized. |
| A7-2-4 (必要): 列挙型では、(1) どれも初期化されないか、または (2) 最初の列挙子もしくは (3) すべての列挙子が初期化されなければなりません。 |
MISRA.ENUM.INIT Non-first enumerator is explicitly initialized, but not all elements are explicitly initialized. |
| A7-3-1 (Required): All overloads of a function shall be visible from where it is called. |
MISRA.NS.USING_DECL Multiple declarations for an identifier in the same namespace should not straddle a using-declaration for that identifier |
| A7-3-1 (req.) |
MISRA.NS.USING_DECL Multiple declarations for an identifier in the same namespace should not straddle a using-declaration for that identifier |
| A7-3-1 (必要): 関数のすべてのオーバーロードは、それが呼び出された場所から見えなければなりません。 |
MISRA.NS.USING_DECL Multiple declarations for an identifier in the same namespace should not straddle a using-declaration for that identifier |
| A7-4-1 (Required): The asm declaration shall not be used. |
AUTOSAR.ASM The asm declaration shall not be used |
| A7-4-1 (req.) |
AUTOSAR.ASM The asm declaration shall not be used |
| A7-4-1 (必要): asm 宣言は使用してはなりません。 |
AUTOSAR.ASM The asm declaration shall not be used |
| A7-5-1 (Required): A function shall not return a reference or a pointer to a parameter that is passed by reference to const. |
AUTOSAR.ADD.RTN.REF.CONST.PARAM A function shall not return a reference or a pointer to a parameter that is passed by reference to const |
| A7-5-1 (req.) |
AUTOSAR.ADD.RTN.REF.CONST.PARAM A function shall not return a reference or a pointer to a parameter that is passed by reference to const |
| A7-5-1 (必要): const への参照によって渡されるパラメーターへの参照またはポインターを関数が返してはなりません。 |
AUTOSAR.ADD.RTN.REF.CONST.PARAM A function shall not return a reference or a pointer to a parameter that is passed by reference to const |
| A7-5-2 (Required): Functions shall not call themselves |
MISRA.FUNC.RECUR Recursive function |
| A7-5-2 (req.) |
MISRA.FUNC.RECUR Recursive function |
| A7-5-2 (必要): 関数は、直接的か間接的かにかかわらず、その関数自身を呼び出してはなりません。 |
MISRA.FUNC.RECUR Recursive function |
| A8-2-1 (Required): When declaring function templates |
AUTOSAR.ADD.FUNC.TEMPLATE.TRAIL.RTN In function templates, the trailing return type syntax shall be used if the return type depends on the type of parameters |
| A8-2-1 (req.) |
AUTOSAR.ADD.FUNC.TEMPLATE.TRAIL.RTN In function templates, the trailing return type syntax shall be used if the return type depends on the type of parameters |
| A8-2-1 (必要): 関数テンプレートを宣言する場合、戻り値型がパラメーターの型に依存するのであれば、後置戻り値型構文を使用しなければなりません。 |
AUTOSAR.ADD.FUNC.TEMPLATE.TRAIL.RTN In function templates, the trailing return type syntax shall be used if the return type depends on the type of parameters |
| A8-4-1 (Required): Functions shall not be defined using the ellipsis notation. |
MISRA.FUNC.VARARG Function with variable number of arguments |
| A8-4-1 (req.) |
MISRA.FUNC.VARARG Function with variable number of arguments |
| A8-4-1 (必要): 関数は省略記法を使用して定義してはなりません。 |
MISRA.FUNC.VARARG Function with variable number of arguments |
| A8-4-2 (Required): All exit paths from a function with non-void return type shall have an explicit return statement with an expression. |
FUNCRET.GEN Non-void function does not return value |
| A8-4-2 (req.) |
FUNCRET.GEN Non-void function does not return value |
| A8-4-2 (必要): void 以外の戻り値の型を持つ関数からのすべての終了パスには、式を含む明示的な return ステートメントが必要です。 |
FUNCRET.GEN Non-void function does not return value |
| A8-5-0 (Required): All memory shall be initialized before it is read. |
UNINIT.CTOR.MIGHT Uninitialized Variable in Constructor - possible UNINIT.CTOR.MUST Uninitialized Variable in Constructor UNINIT.HEAP.MIGHT Uninitialized Heap Use - possible UNINIT.HEAP.MUST Uninitialized Heap Use UNINIT.STACK.ARRAY.MIGHT Uninitialized Array - possible UNINIT.STACK.ARRAY.MUST Uninitialized Array UNINIT.STACK.ARRAY.PARTIAL.MUST Partially Uninitialized Array UNINIT.STACK.MIGHT Uninitialized Variable - possible UNINIT.STACK.MUST Uninitialized Variable |
| A8-5-0 (req.) |
UNINIT.CTOR.MIGHT Uninitialized Variable in Constructor - possible UNINIT.CTOR.MUST Uninitialized Variable in Constructor UNINIT.HEAP.MIGHT Uninitialized Heap Use - possible UNINIT.HEAP.MUST Uninitialized Heap Use UNINIT.STACK.ARRAY.MIGHT Uninitialized Array - possible UNINIT.STACK.ARRAY.MUST Uninitialized Array UNINIT.STACK.ARRAY.PARTIAL.MUST Partially Uninitialized Array UNINIT.STACK.MIGHT Uninitialized Variable - possible UNINIT.STACK.MUST Uninitialized Variable |
| A8-5-0 (必要): すべてのメモリは、読み取られる前に初期化されなければなりません。 |
UNINIT.CTOR.MIGHT Uninitialized Variable in Constructor - possible UNINIT.CTOR.MUST Uninitialized Variable in Constructor UNINIT.HEAP.MIGHT Uninitialized Heap Use - possible UNINIT.HEAP.MUST Uninitialized Heap Use UNINIT.STACK.ARRAY.MIGHT Uninitialized Array - possible UNINIT.STACK.ARRAY.MUST Uninitialized Array UNINIT.STACK.ARRAY.PARTIAL.MUST Partially Uninitialized Array UNINIT.STACK.MIGHT Uninitialized Variable - possible UNINIT.STACK.MUST Uninitialized Variable |
| A8-5-1 (Required): In an initialization list |
CWARN.MEMBER.INIT.ORDER Members of the initialization list are not listed in the order in which they are declared in the class |
| A8-5-1 (req.) |
CWARN.MEMBER.INIT.ORDER Members of the initialization list are not listed in the order in which they are declared in the class |
| A8-5-1 (必要): 初期化リストで、初期化の順序が次のようにならなければなりません。... |
CWARN.MEMBER.INIT.ORDER Members of the initialization list are not listed in the order in which they are declared in the class |
| A8-5-3 (Required): A variable of type auto shall not be initialized using {} or ={} braced-initialization. |
AUTOSAR.ADD.AUTO.INIT.FORMAT A variable of type auto shall not be initialized using {} or ={} braced-initialization. |
| A8-5-3 (req.) |
AUTOSAR.ADD.AUTO.INIT.FORMAT A variable of type auto shall not be initialized using {} or ={} braced-initialization. |
| A8-5-3 (必要): auto 型の変数を {} または ={} ブレース初期化を使用して初期化してはなりません。 |
AUTOSAR.ADD.AUTO.INIT.FORMAT A variable of type auto shall not be initialized using {} or ={} braced-initialization. |
| A8-5-4 (Advisory): If a class has a user-declared constructor that takes a parameter of type std::initializer_list |
AUTOSAR.ADD.CTOR.INIT.LIST If a class has a user-declared constructor that takes a parameter of type std::initializer_list, then it shall be the only constructor apart from special member function constructors |
| A8-5-4 (adv.) |
AUTOSAR.ADD.CTOR.INIT.LIST If a class has a user-declared constructor that takes a parameter of type std::initializer_list, then it shall be the only constructor apart from special member function constructors |
| A8-5-4 (推奨): std::initializer_list 型のパラメーターを受け取るユーザー宣言コンストラクターがクラスに含まれる場合、特殊メンバー関数コンストラクターを除いて、そのコンストラクターが唯一のコンストラクターでなければなりません。 |
AUTOSAR.ADD.CTOR.INIT.LIST If a class has a user-declared constructor that takes a parameter of type std::initializer_list, then it shall be the only constructor apart from special member function constructors |
| A9-5-1 (Required): Unions shall not be used. |
AUTOSAR.UNION Unions shall not be used |
| A9-5-1 (req.) |
AUTOSAR.UNION Unions shall not be used |
| A9-5-1 (必要): 和集合は使用してはなりません。 |
AUTOSAR.UNION Unions shall not be used |
| A10-2-1 (Required): Non-virtual public or protected member functions shall not be redefined in derived classes. |
AUTOSAR.ADD.REDEF.DERIVED.FUNC Non-virtual public or protected member functions shall not be redefined in derived classes. |
| A10-2-1 (req.) |
AUTOSAR.ADD.REDEF.DERIVED.FUNC Non-virtual public or protected member functions shall not be redefined in derived classes. |
| A10-2-1 (必要):パブリックの、または保護された非仮想メンバー関数を派生クラスで再定義してはなりません。 |
AUTOSAR.ADD.REDEF.DERIVED.FUNC Non-virtual public or protected member functions shall not be redefined in derived classes. |
| A10-3-1 (Required): Virtual function declaration shall contain exactly one of the three specifiers: (1) virtual |
AUTOSAR.MEMB.VIRTUAL.SPEC Virtual function declaration shall contain exactly one of the three specifiers: (1) virtual, (2) override, (3) final. |
| A10-3-1 (req.) |
AUTOSAR.MEMB.VIRTUAL.SPEC Virtual function declaration shall contain exactly one of the three specifiers: (1) virtual, (2) override, (3) final. |
| A10-3-1 (必要): 仮想関数宣言には 3 つの指定子 (1) virtual、(2) override、(3) final の内の 1 つだけを含める必要があります。 |
AUTOSAR.MEMB.VIRTUAL.SPEC Virtual function declaration shall contain exactly one of the three specifiers: (1) virtual, (2) override, (3) final. |
| A10-3-2 (Required): Each overriding virtual function shall be declared with the override or final specifier. |
AUTOSAR.ADD.OVERRIDE.VIRTUAL.SPECIFIER Each overriding virtual function shall be declared with the override or final specifier |
| A10-3-2 (req.) |
AUTOSAR.ADD.OVERRIDE.VIRTUAL.SPECIFIER Each overriding virtual function shall be declared with the override or final specifier |
| A10-3-2 (必要): オーバーライドする仮想関数はそれぞれ、override または final 指定子で宣言する必要があります。 |
AUTOSAR.ADD.OVERRIDE.VIRTUAL.SPECIFIER Each overriding virtual function shall be declared with the override or final specifier |
| A10-3-3 (Required): Virtual functions shall not be introduced in a final class. |
AUTOSAR.MEMB.VIRTUAL.FINAL Virtual functions shall not be introduced in a final class |
| A10-3-3 (req.) |
AUTOSAR.MEMB.VIRTUAL.FINAL Virtual functions shall not be introduced in a final class |
| A10-3-3 (必要): 仮想関数は final クラスに含めてはなりません。 |
AUTOSAR.MEMB.VIRTUAL.FINAL Virtual functions shall not be introduced in a final class |
| A10-3-5 (Required): A user-defined assignment operator shall not be virtual. |
AUTOSAR.ADD.ASSIGN.OP.VIRTUAL A user-defined assignment operator shall not be virtual |
| A10-3-5 (req.) |
AUTOSAR.ADD.ASSIGN.OP.VIRTUAL A user-defined assignment operator shall not be virtual |
| A10-3-5 (必要): ユーザー定義の代入演算子は virtual であってはなりません。 |
AUTOSAR.ADD.ASSIGN.OP.VIRTUAL A user-defined assignment operator shall not be virtual |
| A11-3-1 (Required): Friend declarations shall not be used. |
AUTOSAR.FRIEND_DECL Friend declarations shall not be used |
| A11-3-1 (req.) |
AUTOSAR.FRIEND_DECL Friend declarations shall not be used |
| A11-3-1 (必要): フレンド宣言は使用してはなりません。 |
AUTOSAR.FRIEND_DECL Friend declarations shall not be used |
| A12-1-1 (Required): Constructors shall explicitly initialize all virtual base classes |
MISRA.CTOR.BASE Constructor does not explicitly call constructor of its base class |
| A12-1-1 (req.) |
MISRA.CTOR.BASE Constructor does not explicitly call constructor of its base class |
| A12-1-1 (必要): コンストラクターは、すべての仮想基底クラス、すべての直接非仮想基底クラス、およびすべての非静的データメンバーを明示的に初期化しなければなりません。 |
MISRA.CTOR.BASE Constructor does not explicitly call constructor of its base class |
| A12-1-2 (Required): Both NSDMI and a non-static member initializer in a constructor shall not be used in the same type. |
AUTOSAR.CTOR.NSDMI_INIT_LIST Both NSDMI and a non-static member initializer in a constructor shall not be used in the same type |
| A12-1-2 (req.) |
AUTOSAR.CTOR.NSDMI_INIT_LIST Both NSDMI and a non-static member initializer in a constructor shall not be used in the same type |
| A12-1-2 (必要): コンストラクター内の NSDMI と非静的メンバー初期化子の両方を同じ型で使用してはなりません。 |
AUTOSAR.CTOR.NSDMI_INIT_LIST Both NSDMI and a non-static member initializer in a constructor shall not be used in the same type |
| A12-1-4 (Required): All constructors that are callable with a single argument of fundamental type shall be declared explicit. |
AUTOSAR.CTOR.NO_EXPLICIT All constructors that are callable with a single argument of fundamental type shall be declared explicit |
| A12-1-4 (req.) |
AUTOSAR.CTOR.NO_EXPLICIT All constructors that are callable with a single argument of fundamental type shall be declared explicit |
| A12-1-4 (必要): 基本型の単一の引数で呼び出せるすべてのコンストラクターは、explicit と宣言する必要があります。 |
AUTOSAR.CTOR.NO_EXPLICIT All constructors that are callable with a single argument of fundamental type shall be declared explicit |
| A12-4-2 (Advisory): If a public destructor of a class is non-virtual |
AUTOSAR.DTOR.NON_VIRTUAL If a public destructor of a class is non-virtual, then the class should be declared final |
| A12-4-2 (adv.) |
AUTOSAR.DTOR.NON_VIRTUAL If a public destructor of a class is non-virtual, then the class should be declared final |
| A12-4-2 (推奨): クラスのパブリックデストラクタが非仮想的である場合、そのクラスは final と宣言する必要があります。 |
AUTOSAR.DTOR.NON_VIRTUAL If a public destructor of a class is non-virtual, then the class should be declared final |
| A12-6-1 (Required): All class data members that are initialized by the constructor shall be initialized using member initializers. |
AUTOSAR.ADD.CTOR.MEMBER.INIT All class data members that are initialized by the constructor shall be initialized using member initializers |
| A12-6-1 (req.) |
AUTOSAR.ADD.CTOR.MEMBER.INIT All class data members that are initialized by the constructor shall be initialized using member initializers |
| A12-6-1 (必要): このコンストラクターによって初期化されるクラスデータメンバーはすべて、メンバー初期化子を使用して初期化する必要があります。 |
AUTOSAR.ADD.CTOR.MEMBER.INIT All class data members that are initialized by the constructor shall be initialized using member initializers |
| A12-8-4 (Required): Move constructor shall not initialize its class members and base classes using copy semantics. |
AUTOSAR.CTOR.MOVE.COPY_SEMANTICS Move constructor shall not initialize its class members and base classes using copy semantics |
| A12-8-4 (req.) |
AUTOSAR.CTOR.MOVE.COPY_SEMANTICS Move constructor shall not initialize its class members and base classes using copy semantics |
| A12-8-4 (必要): 移動コンストラクタがコピーセマンティクスを使用してそのクラスメンバーと基底クラスを初期化してはなりません。 |
AUTOSAR.CTOR.MOVE.COPY_SEMANTICS Move constructor shall not initialize its class members and base classes using copy semantics |
| A12-8-5 (Required): A copy assignment and a move assignment operators shall handle self-assignment. |
CL.SELF-ASSIGN Use of free memory (double free) - in operator= |
| A12-8-5 (req.) |
CL.SELF-ASSIGN Use of free memory (double free) - in operator= |
| A12-8-5 (必要): コピー代入演算子と移動代入演算子は自己代入を処理しなければなりません。 |
CL.SELF-ASSIGN Use of free memory (double free) - in operator= |
| A12-8-7 (Advisory): Assignment operators should be declared with the ref-qualifier &. |
AUTOSAR.ASSIGN.REF_QUAL Assignment operators should be declared with the ref-qualifier & |
| A12-8-7 (adv.) |
AUTOSAR.ASSIGN.REF_QUAL Assignment operators should be declared with the ref-qualifier & |
| A12-8-7 (推奨): 代入演算子は、参照修飾子 & を使用して宣言する必要があります。 |
AUTOSAR.ASSIGN.REF_QUAL Assignment operators should be declared with the ref-qualifier & |
| A13-1-2 (Required): User defined suffixes of the user defined literal operators shall start with underscore followed by one or more letters. |
AUTOSAR.OP.LITERAL.SUFFIX User defined suffixes of the user defined literal operators shall start with underscore followed by one or more letters |
| A13-1-2 (req.) |
AUTOSAR.OP.LITERAL.SUFFIX User defined suffixes of the user defined literal operators shall start with underscore followed by one or more letters |
| A13-1-2 (必要): ユーザー定義のリテラル演算子のユーザー定義の接尾辞は、アンダースコアで始まり、その後に 1 字以上の英字が続く必要があります。 |
AUTOSAR.OP.LITERAL.SUFFIX User defined suffixes of the user defined literal operators shall start with underscore followed by one or more letters |
| A13-2-1 (Required): An assignment operator shall return a reference to “this”. |
AUTOSAR.ASSIGN.RETURN An assignment operator shall return a reference to "this" |
| A13-2-1 (req.) |
AUTOSAR.ASSIGN.RETURN An assignment operator shall return a reference to "this" |
| A13-2-1 (必要): 代入演算子は "this" への参照を返す必要があります。 |
AUTOSAR.ASSIGN.RETURN An assignment operator shall return a reference to "this" |
| A13-2-2 (Required): A binary arithmetic operator and a bitwise operator shall return a “prvalue”. |
AUTOSAR.OP.BINARY.RETVAL A binary arithmetic operator and a bitwise operator shall return a "prvalue" |
| A13-2-2 (req.) |
AUTOSAR.OP.BINARY.RETVAL A binary arithmetic operator and a bitwise operator shall return a "prvalue" |
| A13-2-2 (必要): 2 進算術演算子とビット演算子は "prvalue" を返す必要があります。 |
AUTOSAR.OP.BINARY.RETVAL A binary arithmetic operator and a bitwise operator shall return a "prvalue" |
| A13-2-3 (Required): A relational operator shall return a boolean value. |
AUTOSAR.OP.RELATIONAL.RETVAL A relational operator shall return a boolean value |
| A13-2-3 (req.) |
AUTOSAR.OP.RELATIONAL.RETVAL A relational operator shall return a boolean value |
| A13-2-3 (必要): 関係演算子はブール値を返す必要があります。 |
AUTOSAR.OP.RELATIONAL.RETVAL A relational operator shall return a boolean value |
| A13-5-1 (Required): If “operator[]” is to be overloaded with a non-const version |
AUTOSAR.OP.INDEX.NON_CONST If "operator[]" is to be overloaded with a non-const version, const version shall also be implemented |
| A13-5-1 (req.) |
AUTOSAR.OP.INDEX.NON_CONST If "operator[]" is to be overloaded with a non-const version, const version shall also be implemented |
| A13-5-1 (必要): "operator[]" を非 const バージョンで多重定義する予定であれば、const バージョンも実装する必要があります。 |
AUTOSAR.OP.INDEX.NON_CONST If "operator[]" is to be overloaded with a non-const version, const version shall also be implemented |
| A13-5-2 (Required): All user-defined conversion operators shall be defined explicit. |
AUTOSAR.OP.CONV.NON_EXPLICIT All user-defined conversion operators shall be defined explicit |
| A13-5-2 (req.) |
AUTOSAR.OP.CONV.NON_EXPLICIT All user-defined conversion operators shall be defined explicit |
| A13-5-2 (必要): ユーザー定義の変換演算子はすべて、explicit と定義する必要があります。 |
AUTOSAR.OP.CONV.NON_EXPLICIT All user-defined conversion operators shall be defined explicit |
| A13-5-3 (Advisory): User-defined conversion operators should not be used. |
AUTOSAR.OP.CONV User-defined conversion operators should not be used |
| A13-5-3 (adv.) |
AUTOSAR.OP.CONV User-defined conversion operators should not be used |
| A13-5-3 (推奨): ユーザー定義の変換演算子は使用してはなりません。 |
AUTOSAR.OP.CONV User-defined conversion operators should not be used |
| A13-5-5 (Required): Comparison operators shall be non-member functions with identical parameter types and noexcept. |
AUTOSAR.OP.COMPARE.MEMBER Comparison operators shall be non-member functions AUTOSAR.OP.COMPARE.NON_NOEXCEPT Comparison operators shall be noexcept AUTOSAR.OP.COMPARE.PARAMS Comparison operators shall have identical parameter types |
| A13-5-5 (req.) |
AUTOSAR.OP.COMPARE.MEMBER Comparison operators shall be non-member functions AUTOSAR.OP.COMPARE.NON_NOEXCEPT Comparison operators shall be noexcept AUTOSAR.OP.COMPARE.PARAMS Comparison operators shall have identical parameter types |
| A13-5-5 (必要): 比較演算子は、同一のパラメーター型と noexcept を持つ非メンバー関数でなければなりません。 |
AUTOSAR.OP.COMPARE.MEMBER Comparison operators shall be non-member functions AUTOSAR.OP.COMPARE.NON_NOEXCEPT Comparison operators shall be noexcept AUTOSAR.OP.COMPARE.PARAMS Comparison operators shall have identical parameter types |
| A13-6-1 (Required): Digit sequences separators ’ shall only be used as follows: (1) for decimal |
AUTOSAR.DIGIT_SEPARATORS Digit sequences separators ' shall only be used as follows (1) for decimal, every 3 digits, (2) for hexadecimal, every 2 digits, (3) for binary, every 4 digits |
| A13-6-1 (req.) |
AUTOSAR.DIGIT_SEPARATORS Digit sequences separators ' shall only be used as follows (1) for decimal, every 3 digits, (2) for hexadecimal, every 2 digits, (3) for binary, every 4 digits |
| A13-6-1 (必要): 数字列の区切り子 ' は、(1) 10 進数を 3 桁ずつ、(2) 16 進数を 2 桁ずつ、(3) 2 進数を 4 桁ずつ区切る場合のみ使用する必要があります。 |
AUTOSAR.DIGIT_SEPARATORS Digit sequences separators ' shall only be used as follows (1) for decimal, every 3 digits, (2) for hexadecimal, every 2 digits, (3) for binary, every 4 digits |
| A14-5-3 (Advisory): A non-member generic operator shall only be declared in a namespace that does not contain class (struct) type |
AUTOSAR.OP.TMPL.NON_MEMBER A non-member generic operator shall only be declared in a namespace that does not contain class (struct) type, enum type or union type declarations |
| A14-5-3 (adv.) |
AUTOSAR.OP.TMPL.NON_MEMBER A non-member generic operator shall only be declared in a namespace that does not contain class (struct) type, enum type or union type declarations |
| A14-5-3 (推奨): 非メンバージェネリック演算子は、クラス (構造体) 型、列挙型、または和集合型の宣言が含まれない名前空間でのみ宣言する必要があります。 |
AUTOSAR.OP.TMPL.NON_MEMBER A non-member generic operator shall only be declared in a namespace that does not contain class (struct) type, enum type or union type declarations |
| A14-8-2 (Required): Explicit specializations of function templates shall not be used. |
AUTOSAR.FUNC.TMPL.EXPLICIT_SPEC Explicit specializations of function templates shall not be used |
| A14-8-2 (req.) |
AUTOSAR.FUNC.TMPL.EXPLICIT_SPEC Explicit specializations of function templates shall not be used |
| A14-8-2 (必要): 関数テンプレートの明示的な指定は使用してはなりません。 |
AUTOSAR.FUNC.TMPL.EXPLICIT_SPEC Explicit specializations of function templates shall not be used |
| A15-1-2 (Required): An exception object shall not be a pointer. |
MISRA.THROW.PTR Exception object is a pointer |
| A15-1-2 (req.) |
MISRA.THROW.PTR Exception object is a pointer |
| A15-1-2 (必要): 例外オブジェクトはポインターであってはなりません。 |
MISRA.THROW.PTR Exception object is a pointer |
| A15-1-4 (Required): If a function exits with an exception |
MLK.MIGHT Memory Leak - possible MLK.MUST Memory Leak MLK.RET.MIGHT Memory Leak - possible MLK.RET.MUST Memory Leak |
| A15-1-4 (req.) |
MLK.MIGHT Memory Leak - possible MLK.MUST Memory Leak MLK.RET.MIGHT Memory Leak - possible MLK.RET.MUST Memory Leak |
| A15-1-4 (必要): 関数は、例外で終了する場合には、スローの前に、構築したすべてのオブジェクト/リソースを有効な状態にするか、または削除しなければなりません。 |
MLK.MIGHT Memory Leak - possible MLK.MUST Memory Leak MLK.RET.MIGHT Memory Leak - possible MLK.RET.MUST Memory Leak |
| A15-2-2 (Required): If a constructor is not noexcept and the constructor cannot finish object initialization |
CL.MLK Memory Leak - in destructor |
| A15-2-2 (req.) |
CL.MLK Memory Leak - in destructor |
| A15-2-2 (必要): コンストラクターは、noexcept ではなく、オブジェクトの初期化を完了できない場合には、オブジェクトのリソースの割り当てを解除し、例外をスローしなければなりません。 |
CL.MLK Memory Leak - in destructor |
| A15-3-3 (Required): Main function and a task main function shall catch at least: base class exceptions from all third-party libraries used |
MISRA.CATCH.ALL No ellipsis exception handler in a try-catch block |
| A15-3-3 (req.) |
MISRA.CATCH.ALL No ellipsis exception handler in a try-catch block |
| A15-3-3 (必要): メイン関数およびタスクのメイン関数は、少なくとも、使用されているすべてのサードパーティライブラリからの基底クラス例外と、std::exception およびその他のすべての未処理の例外をキャッチしなければなりません。 |
MISRA.CATCH.ALL No ellipsis exception handler in a try-catch block |
| A15-3-5 (Required): A class type exception shall be caught by reference or const reference. |
MISRA.CATCH.BY_VALUE Exception object of class type is caught by value |
| A15-3-5 (req.) |
MISRA.CATCH.BY_VALUE Exception object of class type is caught by value |
| A15-3-5 (必要): クラス型例外は参照または const 参照によってキャッチされなければなりません。 |
MISRA.CATCH.BY_VALUE Exception object of class type is caught by value |
| A15-4-1 (Required): Dynamic exception-specification shall not be used. |
AUTOSAR.EXCPT.DYNAMIC_SPEC Dynamic exception-specification shall not be used |
| A15-4-1 (req.) |
AUTOSAR.EXCPT.DYNAMIC_SPEC Dynamic exception-specification shall not be used |
| A15-4-1 (必要): 動的な例外指定は使用してはなりません。 |
AUTOSAR.EXCPT.DYNAMIC_SPEC Dynamic exception-specification shall not be used |
| A15-4-2 (Required): If a function is declared to be noexcept |
AUTOSAR.EXCPT.NOEXCPT_THROW If a function is declared to be noexcept, noexcept(true) or noexcept(<true condition>), then it shall not exit with an exception |
| A15-4-2 (req.) |
AUTOSAR.EXCPT.NOEXCPT_THROW If a function is declared to be noexcept, noexcept(true) or noexcept(<true condition>), then it shall not exit with an exception |
| A15-4-2 (必要): 関数が noexcept、noexcept(true)、または noexcept(<true condition>) であると宣言されている場合、その関数は例外で終了してはなりません。 |
AUTOSAR.EXCPT.NOEXCPT_THROW If a function is declared to be noexcept, noexcept(true) or noexcept(<true condition>), then it shall not exit with an exception |
| A15-5-1 (Required): All user-provided class destructors |
AUTOSAR.EXCPT.SPECIAL_MEMBER_THROW All user-provided class destructors, deallocation functions, move constructors, move assignment operators and swap functions shall not exit with an exception |
| A15-5-1 (req.) |
AUTOSAR.EXCPT.SPECIAL_MEMBER_THROW All user-provided class destructors, deallocation functions, move constructors, move assignment operators and swap functions shall not exit with an exception |
| A15-5-1 (必要): ユーザー指定のクラスデストラクター、割り当て解除関数、移動コンストラクター、移動代入演算子、およびスワップ関数は、どれも例外を送出して終了してはなりません。 |
AUTOSAR.EXCPT.SPECIAL_MEMBER_THROW All user-provided class destructors, deallocation functions, move constructors, move assignment operators and swap functions shall not exit with an exception |
| A16-0-1 (Required): ... inclusion and include guards |
MISRA.USE.DEFINE Non-guarding macro definition |
| A16-0-1 (req.) |
MISRA.USE.DEFINE Non-guarding macro definition |
| A16-0-1 (必要): ...インクルードおよびインクルードガード、ならびに次のディレクティブの使用: ... |
MISRA.USE.DEFINE Non-guarding macro definition |
| A16-2-1 (Required): The ’ |
MISRA.INCL.SYMS Non-standard characters in header file names |
| A16-2-1 (req.) |
MISRA.INCL.SYMS Non-standard characters in header file names |
| A16-2-1 (必要): 文字 ’、"、/*、//、\ がヘッダーファイル名または #include ディレクティブ内に存在してはなりません。 |
MISRA.INCL.SYMS Non-standard characters in header file names |
| A17-0-1 (Required): Reserved identifiers |
MISRA.DEFINE.WRONGNAME Usage of a name from the standard library for naming a macro MISRA.DEFINE.WRONGNAME.UNDERSCORE Usage of a reserved name for naming a macro |
| A17-0-1 (req.) |
MISRA.DEFINE.WRONGNAME Usage of a name from the standard library for naming a macro MISRA.DEFINE.WRONGNAME.UNDERSCORE Usage of a reserved name for naming a macro |
| A17-0-1 (必要): 標準ライブラリ内の予約済みの識別子、マクロ、関数は、定義、再定義、または未定義にすることはできません。 |
MISRA.DEFINE.WRONGNAME Usage of a name from the standard library for naming a macro MISRA.DEFINE.WRONGNAME.UNDERSCORE Usage of a reserved name for naming a macro |
| A18-0-2 (Required): The error state of a conversion from string to a numeric value shall be checked. |
MISRA.STDLIB.ATOI Use of 'atof', 'atoi' or 'atol' from library stdlib.h |
| A18-0-2 (req.) |
MISRA.STDLIB.ATOI Use of 'atof', 'atoi' or 'atol' from library stdlib.h |
| A18-0-2 (必要): 文字列から数値への変換のエラー状態がチェックされなければなりません。 |
MISRA.STDLIB.ATOI Use of 'atof', 'atoi' or 'atol' from library stdlib.h |
| A18-0-3 (Required): The library <clocale> (locale.h) and the setlocale function shall not be used. |
AUTOSAR.SETLOCALE The library <clocale> (locale.h) and the setlocale function shall not be used |
| A18-0-3 (req.) |
AUTOSAR.SETLOCALE The library <clocale> (locale.h) and the setlocale function shall not be used |
| A18-0-3 (必要): ライブラリ <clocale> (locale.h) および setlocale 関数は使用してはなりません。 |
AUTOSAR.SETLOCALE The library <clocale> (locale.h) and the setlocale function shall not be used |
| A18-1-1 (Required): C-style arrays shall not be used. |
AUTOSAR.ARRAY.CSTYLE C-style arrays shall not be used |
| A18-1-1 (req.) |
AUTOSAR.ARRAY.CSTYLE C-style arrays shall not be used |
| A18-1-1 (必要): C スタイルの配列は使用してはなりません。 |
AUTOSAR.ARRAY.CSTYLE C-style arrays shall not be used |
| A18-1-2 (Required): The std::vector<bool> specialization shall not be used. |
AUTOSAR.VECTOR.BOOL The std::vector<bool> specialization shall not be used |
| A18-1-2 (req.) |
AUTOSAR.VECTOR.BOOL The std::vector<bool> specialization shall not be used |
| A18-1-2 (必要): std::vector<bool> 特殊化は使用してはなりません。 |
AUTOSAR.VECTOR.BOOL The std::vector<bool> specialization shall not be used |
| A18-1-3 (Required): The std::auto_ptr type shall not be used. |
AUTOSAR.AUTO_PTR The std::auto_ptr type shall not be used |
| A18-1-3 (req.) |
AUTOSAR.AUTO_PTR The std::auto_ptr type shall not be used |
| A18-1-3 (必要): std::auto_ptr 型は使用してはなりません。 |
AUTOSAR.AUTO_PTR The std::auto_ptr type shall not be used |
| A18-5-1 (Required): Functions malloc |
AUTOSAR.STDLIB.MEMORY Functions malloc, calloc, realloc and free shall not be used |
| A18-5-1 (req.) |
AUTOSAR.STDLIB.MEMORY Functions malloc, calloc, realloc and free shall not be used |
| A18-5-1 (必要): 関数 malloc、calloc、realloc、および free は使用してはなりません。 |
AUTOSAR.STDLIB.MEMORY Functions malloc, calloc, realloc and free shall not be used |
| A18-5-2 (Required): Non-placement new or delete expressions shall not be used. |
AUTOSAR.OP.NEW_DELETE Non-placement new or delete expressions shall not be used |
| A18-5-2 (req.) |
AUTOSAR.OP.NEW_DELETE Non-placement new or delete expressions shall not be used |
| A18-5-2 (必要): non-placement new 式または non-placement delete 式を使用してはなりません。 |
AUTOSAR.OP.NEW_DELETE Non-placement new or delete expressions shall not be used |
| A18-5-3 (Required): The form of the delete expression shall match the form of the new expression used to allocate the memory. |
FMM.MIGHT Freeing Mismatched Memory - possible FMM.MUST Freeing Mismatched Memory |
| A18-5-3 (req.) |
FMM.MIGHT Freeing Mismatched Memory - possible FMM.MUST Freeing Mismatched Memory |
| A18-5-3 (必要): delete 式の形式はメモリ割り当てに使用される新しい式の形式と一致しなければなりません。 |
FMM.MIGHT Freeing Mismatched Memory - possible FMM.MUST Freeing Mismatched Memory |
| A18-5-4 (Required): If a project has sized or unsized version of operator “delete” globally defined |
AUTOSAR.OP.DELETE.MISSING_VERSION If a project has sized or unsized version of operator "delete" globally defined, then both sized and unsized versions shall be defined |
| A18-5-4 (req.) |
AUTOSAR.OP.DELETE.MISSING_VERSION If a project has sized or unsized version of operator "delete" globally defined, then both sized and unsized versions shall be defined |
| A18-5-4 (必要): プロジェクトにサイズ指定付きまたはサイズ指定なしの演算子 “delete” がグローバルに定義されている場合は、サイズ指定付きとサイズ指定なしの両方を定義する必要があります。 |
AUTOSAR.OP.DELETE.MISSING_VERSION If a project has sized or unsized version of operator "delete" globally defined, then both sized and unsized versions shall be defined |
| A18-5-11 (Required): “operator new” and “operator delete” shall be defined together. |
AUTOSAR.OP.NEW_NO_DELETE "operator new" and "operator delete" shall be defined together |
| A18-5-11 (req.) |
AUTOSAR.OP.NEW_NO_DELETE "operator new" and "operator delete" shall be defined together |
| A18-5-11 (必要): "operator new" と "operator delete" は一緒に定義する必要があります。 |
AUTOSAR.OP.NEW_NO_DELETE "operator new" and "operator delete" shall be defined together |
| A18-9-1 (Required): The std::bind shall not be used. |
AUTOSAR.STDLIB.BIND The std::bind shall not be used |
| A18-9-1 (req.) |
AUTOSAR.STDLIB.BIND The std::bind shall not be used |
| A18-9-1 (必要): std::bind は使用してはなりません。 |
AUTOSAR.STDLIB.BIND The std::bind shall not be used |
| A18-9-2 (Required): Forwarding values to other functions shall be done via: (1) std::move if the value is an rvalue reference |
AUTOSAR.FORWARD Forwarding values to other functions shall be done via: (1) std::move if the value is an rvalue reference, (2) std::forward if the value is forwarding reference |
| A18-9-2 (req.) |
AUTOSAR.FORWARD Forwarding values to other functions shall be done via: (1) std::move if the value is an rvalue reference, (2) std::forward if the value is forwarding reference |
| A18-9-2 (必要): 他の関数への値の転送は、(1) std::move (値が r 値参照の場合) か (2) std::forward (値が前方参照の場合) を使用して行う必要があります。 |
AUTOSAR.FORWARD Forwarding values to other functions shall be done via: (1) std::move if the value is an rvalue reference, (2) std::forward if the value is forwarding reference |
| A18-9-3 (Required): The std::move shall not be used on objects declared const or const&. |
AUTOSAR.STDLIB.MOVE.CONST The std::move shall not be used on objects declared const or const& |
| A18-9-3 (req.) |
AUTOSAR.STDLIB.MOVE.CONST The std::move shall not be used on objects declared const or const& |
| A18-9-3 (必要): const または const& と宣言されたオブジェクトで std::move を使用してはなりません。 |
AUTOSAR.STDLIB.MOVE.CONST The std::move shall not be used on objects declared const or const& |
| A21-8-1 (Required): Arguments to character-handling functions shall be representable as an unsigned char. |
AUTOSAR.STDLIB.CCTYPE.UCHAR Arguments to character-handling functions defined in <cctype> shall be representable as an unsigned char |
| A21-8-1 (req.) |
AUTOSAR.STDLIB.CCTYPE.UCHAR Arguments to character-handling functions defined in <cctype> shall be representable as an unsigned char |
| A21-8-1 (必要): 文字処理関数の引数は、unsigned char として表現できなければなりません。 |
AUTOSAR.STDLIB.CCTYPE.UCHAR Arguments to character-handling functions defined in <cctype> shall be representable as an unsigned char |
| A26-5-1 (Required): Pseudorandom numbers shall not be generated using std::rand(). |
AUTOSAR.STDLIB.RAND Pseudorandom numbers shall not be generated using std::rand() AUTOSAR.STDLIB.RANDOM_SHUFFLE Pseudorandom numbers shall not be generated using std::rand() |
| A26-5-1 (req.) |
AUTOSAR.STDLIB.RAND Pseudorandom numbers shall not be generated using std::rand() AUTOSAR.STDLIB.RANDOM_SHUFFLE Pseudorandom numbers shall not be generated using std::rand() |
| A26-5-1 (必要): 疑似乱数は std::rand() を使用して生成してはなりません。 |
AUTOSAR.STDLIB.RAND Pseudorandom numbers shall not be generated using std::rand() AUTOSAR.STDLIB.RANDOM_SHUFFLE Pseudorandom numbers shall not be generated using std::rand() |
| A26-5-2 (Required): Random number engines shall not be default-initialized. |
AUTOSAR.STDLIB.RANDOM.NBR_GEN_DEFAULT_INIT Random number engines shall not be default-initialized |
| A26-5-2 (req.) |
AUTOSAR.STDLIB.RANDOM.NBR_GEN_DEFAULT_INIT Random number engines shall not be default-initialized |
| A26-5-2 (必要): 乱数エンジンをデフォルトで初期化してはなりません。 |
AUTOSAR.STDLIB.RANDOM.NBR_GEN_DEFAULT_INIT Random number engines shall not be default-initialized |
| A27-0-2 (Advisory): A C-style string shall guarantee sufficient space for data and the null terminator. |
NNTS.MIGHT Buffer Overflow - Non-null Terminated String NNTS.MUST Buffer Overflow - Non-null Terminated String NNTS.TAINTED Unvalidated User Input Causing Buffer Overflow - Non-Null Terminated String SV.UNBOUND_STRING_INPUT.CIN Usage of cin for unbounded string input SV.UNBOUND_STRING_INPUT.FUNC Usage of unbounded string input |
| A27-0-2 (adv.) |
NNTS.MIGHT Buffer Overflow - Non-null Terminated String NNTS.MUST Buffer Overflow - Non-null Terminated String NNTS.TAINTED Unvalidated User Input Causing Buffer Overflow - Non-Null Terminated String SV.UNBOUND_STRING_INPUT.CIN Usage of cin for unbounded string input SV.UNBOUND_STRING_INPUT.FUNC Usage of unbounded string input |
| A27-0-2 (推奨): C スタイルの文字列は、データと null 終了文字のための十分なスペースを保証しなければなりません。 |
NNTS.MIGHT Buffer Overflow - Non-null Terminated String NNTS.MUST Buffer Overflow - Non-null Terminated String NNTS.TAINTED Unvalidated User Input Causing Buffer Overflow - Non-Null Terminated String SV.UNBOUND_STRING_INPUT.CIN Usage of cin for unbounded string input SV.UNBOUND_STRING_INPUT.FUNC Usage of unbounded string input |
| A27-0-4 (Required): C-style strings shall not be used. |
SV.BANNED.RECOMMENDED.ALLOCA Banned recommended API: stack allocation functions SV.BANNED.RECOMMENDED.NUMERIC Banned recommended API: unsafe numeric conversion functions SV.BANNED.RECOMMENDED.OEM Banned recommended API: OEM character page conversion functions SV.BANNED.RECOMMENDED.PATH Banned recommended API: unsafe path name manipulation functions SV.BANNED.RECOMMENDED.SCANF Banned recommended API: unsafe scanf-type functions SV.BANNED.RECOMMENDED.SPRINTF Banned recommended API: unsafe sprintf-type functions SV.BANNED.RECOMMENDED.STRLEN Banned recommended API: unsafe string length functions SV.BANNED.RECOMMENDED.TOKEN Banned recommended API: unsafe string tokenizing functions SV.BANNED.RECOMMENDED.WINDOW Banned recommended API: unsafe window functions |
| A27-0-4 (req.) |
SV.BANNED.RECOMMENDED.ALLOCA Banned recommended API: stack allocation functions SV.BANNED.RECOMMENDED.NUMERIC Banned recommended API: unsafe numeric conversion functions SV.BANNED.RECOMMENDED.OEM Banned recommended API: OEM character page conversion functions SV.BANNED.RECOMMENDED.PATH Banned recommended API: unsafe path name manipulation functions SV.BANNED.RECOMMENDED.SCANF Banned recommended API: unsafe scanf-type functions SV.BANNED.RECOMMENDED.SPRINTF Banned recommended API: unsafe sprintf-type functions SV.BANNED.RECOMMENDED.STRLEN Banned recommended API: unsafe string length functions SV.BANNED.RECOMMENDED.TOKEN Banned recommended API: unsafe string tokenizing functions SV.BANNED.RECOMMENDED.WINDOW Banned recommended API: unsafe window functions |
| A27-0-4 (必要): C スタイルの文字列は使用してはなりません。 |
SV.BANNED.RECOMMENDED.ALLOCA Banned recommended API: stack allocation functions SV.BANNED.RECOMMENDED.NUMERIC Banned recommended API: unsafe numeric conversion functions SV.BANNED.RECOMMENDED.OEM Banned recommended API: OEM character page conversion functions SV.BANNED.RECOMMENDED.PATH Banned recommended API: unsafe path name manipulation functions SV.BANNED.RECOMMENDED.SCANF Banned recommended API: unsafe scanf-type functions SV.BANNED.RECOMMENDED.SPRINTF Banned recommended API: unsafe sprintf-type functions SV.BANNED.RECOMMENDED.STRLEN Banned recommended API: unsafe string length functions SV.BANNED.RECOMMENDED.TOKEN Banned recommended API: unsafe string tokenizing functions SV.BANNED.RECOMMENDED.WINDOW Banned recommended API: unsafe window functions |
| M0-1-1 (Required): A project shall not contain unreachable code. |
UNREACH.ENUM Code is unreachable due to the possible value(s) of an enum UNREACH.GEN Unreachable code UNREACH.RETURN Unreachable Void Return |
| M0-1-1 (req.) |
UNREACH.ENUM Code is unreachable due to the possible value(s) of an enum UNREACH.GEN Unreachable code UNREACH.RETURN Unreachable Void Return |
| M0-1-1 (必要): プロジェクトには到達不能なコードを含めてはなりません。 |
UNREACH.ENUM Code is unreachable due to the possible value(s) of an enum UNREACH.GEN Unreachable code UNREACH.RETURN Unreachable Void Return |
| M0-1-2 (Required): A project shall not contain infeasible paths. |
CWARN.NOEFFECT.UCMP.GE Comparison of unsigned value against 0 is always true CWARN.NOEFFECT.UCMP.GE.MACRO Comparison of unsigned value against 0 within a macro is always true CWARN.NOEFFECT.UCMP.LT Comparison of unsigned value against 0 is always false CWARN.NOEFFECT.UCMP.LT.MACRO Comparison of unsigned value against 0 within a macro is always false |
| M0-1-2 (req.) |
CWARN.NOEFFECT.UCMP.GE Comparison of unsigned value against 0 is always true CWARN.NOEFFECT.UCMP.GE.MACRO Comparison of unsigned value against 0 within a macro is always true CWARN.NOEFFECT.UCMP.LT Comparison of unsigned value against 0 is always false CWARN.NOEFFECT.UCMP.LT.MACRO Comparison of unsigned value against 0 within a macro is always false |
| M0-1-2 (必要): プロジェクトには実行不可能なパスを含めてはなりません。 |
CWARN.NOEFFECT.UCMP.GE Comparison of unsigned value against 0 is always true CWARN.NOEFFECT.UCMP.GE.MACRO Comparison of unsigned value against 0 within a macro is always true CWARN.NOEFFECT.UCMP.LT Comparison of unsigned value against 0 is always false CWARN.NOEFFECT.UCMP.LT.MACRO Comparison of unsigned value against 0 within a macro is always false |
| M0-1-3 (Required): A project shall not contain unused variables. |
LV_UNUSED.GEN Local variable unused |
| M0-1-3 (req.) |
LV_UNUSED.GEN Local variable unused |
| M0-1-3 (必要): プロジェクトには未使用の変数を含めてはなりません。 |
LV_UNUSED.GEN Local variable unused |
| M0-1-9 (Required): There shall be no dead code. |
VA_UNUSED.GEN Value is Never Used after Assignment VA_UNUSED.INIT Value is Never Used after Initialization |
| M0-1-9 (req.) |
VA_UNUSED.GEN Value is Never Used after Assignment VA_UNUSED.INIT Value is Never Used after Initialization |
| M0-1-9 (必要): 到達不能コードが存在してはなりません。 |
VA_UNUSED.GEN Value is Never Used after Assignment VA_UNUSED.INIT Value is Never Used after Initialization |
| M0-1-10 (Advisory): Every defined function should be called at least once. |
UNUSED.FUNC.GEN Function defined but not used |
| M0-1-10 (adv.) |
UNUSED.FUNC.GEN Function defined but not used |
| M0-1-10 (推奨): すべての定義された関数は、少なくとも 1 回は呼び出されなければなりません。 |
UNUSED.FUNC.GEN Function defined but not used |
| M0-2-1 (Required): An object shall not be assigned to an overlapping object. |
MISRA.ASSIGN.OVERLAP Object is assigned to an overlapping object |
| M0-2-1 (req.) |
MISRA.ASSIGN.OVERLAP Object is assigned to an overlapping object |
| M0-2-1 (必要): オブジェクトは、重複するオブジェクトに割り当てられてはなりません。 |
MISRA.ASSIGN.OVERLAP Object is assigned to an overlapping object |
| M2-7-1 (Required): The character sequence /* shall not be used within a C-style comment. |
MISRA.TOKEN.BADCOM Inappropriate character sequence in a comment |
| M2-7-1 (req.) |
MISRA.TOKEN.BADCOM Inappropriate character sequence in a comment |
| M2-7-1 (必要): 文字シーケンス /* は、C スタイルのコメント内で使用してはなりません。 |
MISRA.TOKEN.BADCOM Inappropriate character sequence in a comment |
| M2-13-2 (Required): Octal constants (other than zero) and octal escape sequences (other than “\0” ) shall not be used. |
MISRA.TOKEN.OCTAL.ESCAPE Usage of octal escape sequences MISRA.TOKEN.OCTAL.INT Usage of octal integer constants |
| M2-13-2 (req.) |
MISRA.TOKEN.OCTAL.ESCAPE Usage of octal escape sequences MISRA.TOKEN.OCTAL.INT Usage of octal integer constants |
| M2-13-2 (必要): 8 進定数 (ゼロ以外) および 8 進エスケープシーケンス (“\0” 以外) は使用してはなりません。 |
MISRA.TOKEN.OCTAL.ESCAPE Usage of octal escape sequences MISRA.TOKEN.OCTAL.INT Usage of octal integer constants |
| M2-13-3 (Required): A “U” suffix shall be applied to all octal or hexadecimal integer literals of unsigned type. |
MISRA.LITERAL.UNSIGNED.SUFFIX Unsigned integer literal without 'U' suffix |
| M2-13-3 (req.) |
MISRA.LITERAL.UNSIGNED.SUFFIX Unsigned integer literal without 'U' suffix |
| M2-13-3 (必要): 符号なし型のすべての 8 進数または 16 進数の整数リテラルには “U” 接頭辞を適用しなければなりません。 |
MISRA.LITERAL.UNSIGNED.SUFFIX Unsigned integer literal without 'U' suffix |
| M2-13-4 (Required): Literal suffixes shall be upper case. |
MISRA.LITERAL.SUFFIX.CASE Literal suffix in lower case. |
| M2-13-4 (req.) |
MISRA.LITERAL.SUFFIX.CASE Literal suffix in lower case. |
| M2-13-4 (必要): リテラル接尾辞は大文字にしなければなりません。 |
MISRA.LITERAL.SUFFIX.CASE Literal suffix in lower case. |
| M3-1-2 (Required): Functions shall not be declared at block scope. |
MISRA.DECL.FUNC_LOCAL Function is declared locally |
| M3-1-2 (req.) |
MISRA.DECL.FUNC_LOCAL Function is declared locally |
| M3-2-1 (Required): All declarations of an object or function shall have compatible types. |
MISRA.OBJ.TYPE.COMPAT Type not compatible with type of other declaration |
| M3-2-1 (req.) |
MISRA.OBJ.TYPE.COMPAT Type not compatible with type of other declaration |
| M3-2-1 (必要): オブジェクトまたは関数のすべての宣言は互換性のある型を持たなければなりません。 |
MISRA.OBJ.TYPE.COMPAT Type not compatible with type of other declaration |
| M3-2-1 (必要): 関数はブロックスコープで宣言してはなりません。 |
MISRA.DECL.FUNC_LOCAL Function is declared locally |
| M3-3-2 (Required): If a function has internal linkage then all re-declarations shall include the static storage class specifier. |
MISRA.FUNC.STATIC.REDECL Function or object redeclaration does not include 'static' modifier |
| M3-3-2 (req.) |
MISRA.FUNC.STATIC.REDECL Function or object redeclaration does not include 'static' modifier |
| M3-3-2 (必要): 関数に内部リンケージがある場合、すべての再宣言に静的ストレージクラス指定子を含めなければなりません。 |
MISRA.FUNC.STATIC.REDECL Function or object redeclaration does not include 'static' modifier |
| M3-4-1 (Required): An identifier declared to be an object or type shall be defined in a block that minimizes its visibility. |
MISRA.VAR.MIN.VIS Name visibility is too wide |
| M3-4-1 (req.) |
MISRA.VAR.MIN.VIS Name visibility is too wide |
| M3-4-1 (必要): オブジェクトまたは型として宣言された識別子は、その可視性を最小限に抑えるブロック内で定義しなければなりません。 |
MISRA.VAR.MIN.VIS Name visibility is too wide |
| M3-9-1 (Required): The types used for an object |
MISRA.OBJ.TYPE.IDENT Type not identical with type of other declaration |
| M3-9-1 (req.) |
MISRA.OBJ.TYPE.IDENT Type not identical with type of other declaration |
| M3-9-1 (必要): オブジェクト、関数の戻り値の型、または関数のパラメータに使用される型は、すべての宣言および再宣言でトークンごとに同一でなければなりません。 |
MISRA.OBJ.TYPE.IDENT Type not identical with type of other declaration |
| M3-9-3 (Required): The underlying bit representations of floating-point values shall not be used. |
MISRA.FLOAT.BIT.REPR Use of bit manipulations of floating-point values which rely on storage layout |
| M3-9-3 (req.) |
MISRA.FLOAT.BIT.REPR Use of bit manipulations of floating-point values which rely on storage layout |
| M3-9-3 (必要): 浮動小数点値の基礎となるビット表現は使用してはなりません。 |
MISRA.FLOAT.BIT.REPR Use of bit manipulations of floating-point values which rely on storage layout |
| M4-5-1 (Required): Expressions with type bool shall not be used as operands to built-in operators. |
MISRA.LOGIC.OPERATOR.NOT_BOOL Operand of non-logical operator is effectively boolean |
| M4-5-1 (req.) |
MISRA.LOGIC.OPERATOR.NOT_BOOL Operand of non-logical operator is effectively boolean |
| M4-5-1 (必要): bool 型の式は組み込み演算子のオペランドとして使用してはなりません。 |
MISRA.LOGIC.OPERATOR.NOT_BOOL Operand of non-logical operator is effectively boolean |
| M4-5-3 (Required): Expressions with type (plain) char and wchar_t shall not be used as operands to built-in operators other than the assignment operator = |
MISRA.CHAR.OPERAND Expression of type 'char' or 'wchar_t' is used as non-character operand |
| M4-5-3 (req.) |
MISRA.CHAR.OPERAND Expression of type 'char' or 'wchar_t' is used as non-character operand |
| M4-5-3 (必要): (プレーン) char および wchar_t 型の式は、代入演算子 =、等価演算子 == と !=、および単項の & 演算子以外の組み込み演算子のオペランドとして使用してはなりません。 |
MISRA.CHAR.OPERAND Expression of type 'char' or 'wchar_t' is used as non-character operand |
| M4-10-1 (Required): NULL shall not be used as an integer value. |
MISRA.LITERAL.NULL.INT NULL used as an integer value. |
| M4-10-1 (req.) |
MISRA.LITERAL.NULL.INT NULL used as an integer value. |
| M4-10-1 (必要): null は整数値として使用してはなりません。 |
MISRA.LITERAL.NULL.INT NULL used as an integer value. |
| M4-10-2 (Required): Literal zero (0) shall not be used as the null-pointer-constant. |
MISRA.LITERAL.NULL.PTR Literal zero used as the null-pointer-constant. |
| M4-10-2 (req.) |
MISRA.LITERAL.NULL.PTR Literal zero used as the null-pointer-constant. |
| M4-10-2 (必要): リテラルゼロ (0) は、null ポインター定数として使用してはなりません。 |
MISRA.LITERAL.NULL.PTR Literal zero used as the null-pointer-constant. |
| M5-0-2 (Advisory): Limited dependence should be placed on C++ operator precedence rules in expressions. |
MISRA.EXPR.PARENS.INSUFFICIENT Limited dependence required for operator precedence rules in expressions MISRA.EXPR.PARENS.REDUNDANT Limited dependence required for operator precedence rules in expressions |
| M5-0-2 (adv.) |
MISRA.EXPR.PARENS.INSUFFICIENT Limited dependence required for operator precedence rules in expressions MISRA.EXPR.PARENS.REDUNDANT Limited dependence required for operator precedence rules in expressions |
| M5-0-2 (推奨): C++ 演算子の優先順位規則に限定的な依存関係を式で設定しなければなりません。 |
MISRA.EXPR.PARENS.INSUFFICIENT Limited dependence required for operator precedence rules in expressions MISRA.EXPR.PARENS.REDUNDANT Limited dependence required for operator precedence rules in expressions |
| M5-0-3 (Required): A cvalue expression shall not be implicitly converted to a different underlying type. |
MISRA.CVALUE.IMPL.CAST.CPP The value of an expression implicitly converted to a different type |
| M5-0-3 (req.) |
MISRA.CVALUE.IMPL.CAST.CPP The value of an expression implicitly converted to a different type |
| M5-0-3 (必要): cvalue 式は、異なる基底型に暗黙的に変換してはなりません。 |
MISRA.CVALUE.IMPL.CAST.CPP The value of an expression implicitly converted to a different type |
| M5-0-4 (Required): An implicit integral conversion shall not change the signedness of the underlying type. |
MISRA.CONV.INT.SIGN Implicit integral conversion changes signedness |
| M5-0-4 (req.) |
MISRA.CONV.INT.SIGN Implicit integral conversion changes signedness |
| M5-0-4 (必要): 暗黙的な整数変換では、基底型の符号を変更してはなりません。 |
MISRA.CONV.INT.SIGN Implicit integral conversion changes signedness |
| M5-0-5 (Required): There shall be no implicit floating-integral conversions. |
MISRA.CONV.FLOAT Implicit floating-point conversion |
| M5-0-5 (req.) |
MISRA.CONV.FLOAT Implicit floating-point conversion |
| M5-0-5 (必要): 暗黙的な浮動小数点数から整数への変換が行われてはなりません。 |
MISRA.CONV.FLOAT Implicit floating-point conversion |
| M5-0-6 (Required): An implicit integral or floating-point conversion shall not reduce the size of the underlying type. |
MISRA.CONV.NUM.NARROWER Implicit numeric conversion to narrower type |
| M5-0-6 (req.) |
MISRA.CONV.NUM.NARROWER Implicit numeric conversion to narrower type |
| M5-0-6 (必要): 暗黙的な整数または浮動小数点の変換によって、基底型のサイズが縮小されてはなりません。 |
MISRA.CONV.NUM.NARROWER Implicit numeric conversion to narrower type |
| M5-0-7 (Required): There shall be no explicit floating-integral conversions of a cvalue expression. |
MISRA.CAST.FLOAT_INT Cast of floating point expression to integral type MISRA.CAST.INT_FLOAT Cast of integral expression to floating point type |
| M5-0-7 (req.) |
MISRA.CAST.FLOAT_INT Cast of floating point expression to integral type MISRA.CAST.INT_FLOAT Cast of integral expression to floating point type |
| M5-0-7 (必要): cvalue 式の明示的な浮動小数点数から整数への変換が行われてはなりません。 |
MISRA.CAST.FLOAT_INT Cast of floating point expression to integral type MISRA.CAST.INT_FLOAT Cast of integral expression to floating point type |
| M5-0-8 (Required): An explicit integral or floating-point conversion shall not increase the size of the underlying type of a cvalue expression. |
MISRA.CAST.FLOAT.WIDER Cast of floating point expression to a wider floating point type MISRA.CAST.INT.WIDER Cast of integral expression to a wider integral type |
| M5-0-8 (req.) |
MISRA.CAST.FLOAT.WIDER Cast of floating point expression to a wider floating point type MISRA.CAST.INT.WIDER Cast of integral expression to a wider integral type |
| M5-0-8 (必要): 明示的な整数または浮動小数点の変換が、cvalue 式の基底型のサイズを大きくしてはなりません。 |
MISRA.CAST.FLOAT.WIDER Cast of floating point expression to a wider floating point type MISRA.CAST.INT.WIDER Cast of integral expression to a wider integral type |
| M5-0-9 (Required): An explicit integral conversion shall not change the signedness of the underlying type of a cvalue expression. |
MISRA.CAST.INT.SIGN Non-trivial integral expression is cast to type with different signedness |
| M5-0-9 (req.) |
MISRA.CAST.INT.SIGN Non-trivial integral expression is cast to type with different signedness |
| M5-0-9 (必要): 明示的な整数変換では、cvalue 式の基底型の符号を変更してはなりません。 |
MISRA.CAST.INT.SIGN Non-trivial integral expression is cast to type with different signedness |
| M5-0-10 (Required): If the bitwise operators ~and << are applied to an operand with an underlying type of unsigned char or unsigned short |
MISRA.CAST.UNSIGNED_BITS The result of bitwise operation on unsigned char or short is not cast back to original type |
| M5-0-10 (req.) |
MISRA.CAST.UNSIGNED_BITS The result of bitwise operation on unsigned char or short is not cast back to original type |
| M5-0-10 (必要): ビット演算子 ~ および << が、unsigned char または unsigned short を基底型とするオペランドに適用された場合、結果が直ちにオペランドの基底型にキャストされなければなりません。 |
MISRA.CAST.UNSIGNED_BITS The result of bitwise operation on unsigned char or short is not cast back to original type |
| M5-0-11 (Required): The plain char type shall only be used for the storage and use of character values. |
MISRA.CHAR.NOT_CHARACTER 'char' is used for non-character value |
| M5-0-11 (req.) |
MISRA.CHAR.NOT_CHARACTER 'char' is used for non-character value |
| M5-0-11 (必要): プレーン char 型は、文字値の保存と使用にのみ使用されなければなりません。 |
MISRA.CHAR.NOT_CHARACTER 'char' is used for non-character value |
| M5-0-12 (Required): Signed char and unsigned char type shall only be used for the storage and use of numeric values. |
MISRA.SIGNED_CHAR.NOT_NUMERIC 'signed char' or 'unsigned char' is used for non-numeric value |
| M5-0-12 (req.) |
MISRA.SIGNED_CHAR.NOT_NUMERIC 'signed char' or 'unsigned char' is used for non-numeric value |
| M5-0-12 (必要): 符号付き char 型と符号なし char 型は、数値の保存と使用にのみ使用されなければなりません。 |
MISRA.SIGNED_CHAR.NOT_NUMERIC 'signed char' or 'unsigned char' is used for non-numeric value |
| M5-0-14 (Required): The first operand of a conditional-operator shall have type bool. |
MISRA.EXPR.COND.NOT_BOOLEAN First operand of conditional expression is not a boolean expression |
| M5-0-14 (req.) |
MISRA.EXPR.COND.NOT_BOOLEAN First operand of conditional expression is not a boolean expression |
| M5-0-14 (必要): 条件演算子の最初のオペランドは bool 型でなければなりません。 |
MISRA.EXPR.COND.NOT_BOOLEAN First operand of conditional expression is not a boolean expression |
| M5-0-15 (Required): Array indexing shall be the only form of pointer arithmetic. |
MISRA.PTR.ARITH Pointer is used in arithmetic or array index expression |
| M5-0-15 (req.) |
MISRA.PTR.ARITH Pointer is used in arithmetic or array index expression |
| M5-0-15 (必要): 配列インデックスは、ポインター演算の唯一の形式とします。 |
MISRA.PTR.ARITH Pointer is used in arithmetic or array index expression |
| M5-0-16 (Required): A pointer operand and any pointer resulting from pointer arithmetic using that operand shall both address elements of the same array. |
MISRA.PTR.ARITH.NOT_SAME.2008 A pointer resulting from arithmetic on a pointer operand shall address an element of the same array as that pointer operand |
| M5-0-16 (req.) |
MISRA.PTR.ARITH.NOT_SAME.2008 A pointer resulting from arithmetic on a pointer operand shall address an element of the same array as that pointer operand |
| M5-0-16 (必要): ポインターオペランドと、そのオペランドを使用したポインター演算の結果のポインターは、両方とも同じ配列の要素をアドレス指定しなければなりません。 |
MISRA.PTR.ARITH.NOT_SAME.2008 A pointer resulting from arithmetic on a pointer operand shall address an element of the same array as that pointer operand |
| M5-0-20 (Required): Non-constant operands to a binary bitwise operator shall have the same underlying type. |
MISRA.BITS.OPERAND Operands of bitwise operation have different underlying types |
| M5-0-20 (req.) |
MISRA.BITS.OPERAND Operands of bitwise operation have different underlying types |
| M5-0-20 (必要): 二項ビット演算子の非定数オペランドは、同じ基底型でなければなりません。 |
MISRA.BITS.OPERAND Operands of bitwise operation have different underlying types |
| M5-0-21 (Required): Bitwise operators shall only be applied to operands of unsigned underlying type. |
MISRA.BITS.NOT_UNSIGNED Operand of bitwise operation is not unsigned integer MISRA.BITS.NOT_UNSIGNED.PREP Operand of bitwise operation is not unsigned integer |
| M5-0-21 (req.) |
MISRA.BITS.NOT_UNSIGNED Operand of bitwise operation is not unsigned integer MISRA.BITS.NOT_UNSIGNED.PREP Operand of bitwise operation is not unsigned integer |
| M5-0-21 (必要): ビット演算子は、符号なしの基底型オペランドにのみ適用されなければなりません。 |
MISRA.BITS.NOT_UNSIGNED Operand of bitwise operation is not unsigned integer MISRA.BITS.NOT_UNSIGNED.PREP Operand of bitwise operation is not unsigned integer |
| M5-2-2 (Required): A pointer to a virtual base class shall only be cast to a pointer to a derived class by means of dynamic_cast. |
MISRA.CAST.PTR.VRCLASS A cast form pointer to a virtual base class to pointer to a derived class does not use 'dynamic_cast' |
| M5-2-2 (req.) |
MISRA.CAST.PTR.VRCLASS A cast form pointer to a virtual base class to pointer to a derived class does not use 'dynamic_cast' |
| M5-2-2 (必要): 仮想基底クラスへのポインターは、dynamic_cast によって派生クラスへのポインターにのみキャストしなければなりません。 |
MISRA.CAST.PTR.VRCLASS A cast form pointer to a virtual base class to pointer to a derived class does not use 'dynamic_cast' |
| M5-2-3 (Advisory): Casts from a base class to a derived class should not be performed on polymorphic types. |
MISRA.CAST.POLY.TYPE Cast from a polymorphic base class to a derived class |
| M5-2-3 (adv.) |
MISRA.CAST.POLY.TYPE Cast from a polymorphic base class to a derived class |
| M5-2-3 (推奨): 基底クラスから派生クラスへのキャストは、多態型で実行されてはなりません。 |
MISRA.CAST.POLY.TYPE Cast from a polymorphic base class to a derived class |
| M5-2-6 (Required): A cast shall not convert a pointer to a function to any other pointer type |
MISRA.CAST.FUNC_PTR.CPP Cast converts function pointer to other pointer type |
| M5-2-6 (req.) |
MISRA.CAST.FUNC_PTR.CPP Cast converts function pointer to other pointer type |
| M5-2-6 (必要): キャストは、関数へのポインターを、関数型へのポインターを含む他のポインター型に変換してはなりません。 |
MISRA.CAST.FUNC_PTR.CPP Cast converts function pointer to other pointer type |
| M5-2-8 (Required): An object with integer type or pointer to void type shall not be converted to an object with pointer type. |
MISRA.CAST.INT_TO_PTR Object with integer type or pointer to void cast to pointer type |
| M5-2-8 (req.) |
MISRA.CAST.INT_TO_PTR Object with integer type or pointer to void cast to pointer type |
| M5-2-8 (必要): 整数型または void 型へのポインターを持つオブジェクトは、ポインター型のオブジェクトに変換してはなりません。 |
MISRA.CAST.INT_TO_PTR Object with integer type or pointer to void cast to pointer type |
| M5-2-9 (Required): A cast shall not convert a pointer type to an integral type. |
MISRA.CAST.PTR_TO_INT Cast between a pointer and an integral type |
| M5-2-9 (req.) |
MISRA.CAST.PTR_TO_INT Cast between a pointer and an integral type |
| M5-2-9 (必要): キャストでポインター型が整数型に変換されてはなりません。 |
MISRA.CAST.PTR_TO_INT Cast between a pointer and an integral type |
| M5-2-10 (Required): The increment (++) and decrement (−−) operators shall not be mixed with other operators in an expression. |
MISRA.INCR_DECR.OTHER Increment or decrement operator is mixed with other operators in expression |
| M5-2-10 (req.) |
MISRA.INCR_DECR.OTHER Increment or decrement operator is mixed with other operators in expression |
| M5-2-10 (必要): 増分 (++) 演算子と減分 (−−) 演算子は、式の中で他の演算子と混在させてはなりません。 |
MISRA.INCR_DECR.OTHER Increment or decrement operator is mixed with other operators in expression |
| M5-2-11 (Required): The comma operator |
MISRA.BIN_OP.OVERLOAD Comma, || or && operator overloaded |
| M5-2-11 (req.) |
MISRA.BIN_OP.OVERLOAD Comma, || or && operator overloaded |
| M5-2-11 (必要): カンマ演算子、&& 演算子、|| 演算子はオーバーロードしてはなりません。 |
MISRA.BIN_OP.OVERLOAD Comma, || or && operator overloaded |
| M5-2-12 (Required): An identifier with array type passed as a function argument shall not decay to a pointer. |
MISRA.FUNC.ARRAY.PARAMS Function argument with array type decay to a pointer |
| M5-2-12 (req.) |
MISRA.FUNC.ARRAY.PARAMS Function argument with array type decay to a pointer |
| M5-2-12 (必要): 関数の引数として渡される配列型の識別子は、ポインターに減衰されてはなりません。 |
MISRA.FUNC.ARRAY.PARAMS Function argument with array type decay to a pointer |
| M5-3-1 (Required): Each operand of the ! operator |
MISRA.LOGIC.NOT_BOOL Operand of logical operation is not boolean |
| M5-3-1 (req.) |
MISRA.LOGIC.NOT_BOOL Operand of logical operation is not boolean |
| M5-3-1 (必要): ! 演算子、論理 && 演算子、または論理 || 演算子の各オペランドは、bool 型でなければなりません。 |
MISRA.LOGIC.NOT_BOOL Operand of logical operation is not boolean |
| M5-3-2 (Required): The unary minus operator shall not be applied to an expression whose underlying type is unsigned. |
MISRA.UMINUS.UNSIGNED Operand of unary minus is unsigned |
| M5-3-2 (req.) |
MISRA.UMINUS.UNSIGNED Operand of unary minus is unsigned |
| M5-3-2 (必要): 単項マイナス演算子は、基底型が符号なしの式に適用してはなりません。 |
MISRA.UMINUS.UNSIGNED Operand of unary minus is unsigned |
| M5-3-3 (Required): The unary & operator shall not be overloaded. |
MISRA.UN_OP.OVERLOAD Unary & operator is overloaded |
| M5-3-3 (req.) |
MISRA.UN_OP.OVERLOAD Unary & operator is overloaded |
| M5-3-3 (必要): 単項 & 演算子はオーバーロードされてはなりません。 |
MISRA.UN_OP.OVERLOAD Unary & operator is overloaded |
| M5-3-4 (Required): Evaluation of the operand to the sizeof operator shall not contain side effects. |
MISRA.SIZEOF.SIDE_EFFECT Operand of sizeof has side effects |
| M5-3-4 (req.) |
MISRA.SIZEOF.SIDE_EFFECT Operand of sizeof has side effects |
| M5-3-4 (必要): sizeof 演算子のオペランドの評価には副作用が含まれてはなりません。 |
MISRA.SIZEOF.SIDE_EFFECT Operand of sizeof has side effects |
| M5-8-1 (Required): The right hand operand of a shift operator shall lie between zero and one less than the width in bits of the underlying type of the left hand operand. |
MISRA.SHIFT.RANGE Right operand of shift operation is out of range - greater or equal to max bit-length of left operand, or negative |
| M5-8-1 (req.) |
MISRA.SHIFT.RANGE Right operand of shift operation is out of range - greater or equal to max bit-length of left operand, or negative |
| M5-8-1 (必要): シフト演算子の右側のオペランドは、左側のオペランドの基底型のビット幅より 0 ~ 1 少ない値までの範囲になければなりません。 |
MISRA.SHIFT.RANGE Right operand of shift operation is out of range - greater or equal to max bit-length of left operand, or negative |
| M5-14-1 (Required): The right hand operand of a logical && |
MISRA.LOGIC.SIDEEFF Right operand in a logical 'and' or 'or' expression contains side effects |
| M5-14-1 (req.) |
MISRA.LOGIC.SIDEEFF Right operand in a logical 'and' or 'or' expression contains side effects |
| M5-14-1 (必要): 論理 && 演算子または論理 || 演算子の右側のオペランドには副作用が含まれていてはなりません。 |
MISRA.LOGIC.SIDEEFF Right operand in a logical 'and' or 'or' expression contains side effects |
| M5-18-1 (Required): The comma operator shall not be used. |
MISRA.COMMA Comma operator is used |
| M5-18-1 (req.) |
MISRA.COMMA Comma operator is used |
| M5-18-1 (必要): カンマ演算子は使用してはなりません。 |
MISRA.COMMA Comma operator is used |
| M5-19-1 (Required): Evaluation of constant unsigned integer expressions shall not lead to wrap-around. |
MISRA.COMP.WRAPAROUND Wrap-around in a condition MISRA.ELIF.WRAPAROUND Wrap-around in #elif directive |
| M5-19-1 (req.) |
MISRA.COMP.WRAPAROUND Wrap-around in a condition MISRA.ELIF.WRAPAROUND Wrap-around in #elif directive |
| M5-19-1 (必要): 符号なし定数整数式の評価では、ラップアラウンドが発生してはなりません。 |
MISRA.COMP.WRAPAROUND Wrap-around in a condition MISRA.ELIF.WRAPAROUND Wrap-around in #elif directive |
| M6-2-1 (Required): Assignment operators shall not be used in sub-expressions. |
MISRA.ASSIGN.COND Assignment operator is used in a condition MISRA.ASSIGN.SUBEXPR Assignment operator is used in a sub-expression outside a condition |
| M6-2-1 (req.) |
MISRA.ASSIGN.COND Assignment operator is used in a condition MISRA.ASSIGN.SUBEXPR Assignment operator is used in a sub-expression outside a condition |
| M6-2-1 (必要): 代入演算子は部分式では使用してはなりません。 |
MISRA.ASSIGN.COND Assignment operator is used in a condition MISRA.ASSIGN.SUBEXPR Assignment operator is used in a sub-expression outside a condition |
| M6-2-2 (Required): Floating-point expressions shall not be directly or indirectly tested for equality or inequality. |
MISRA.FLOAT_EQUAL Floating point expression is tested for equality |
| M6-2-2 (req.) |
MISRA.FLOAT_EQUAL Floating point expression is tested for equality |
| M6-2-2 (必要): 浮動小数点式は、等価性または不等価性を直接的または間接的にテストしてはなりません。 |
MISRA.FLOAT_EQUAL Floating point expression is tested for equality |
| M6-2-3 (Required): Before preprocessing |
MISRA.NULL.STMT Null statement is not the only statement on line or comments are placed incorrectly |
| M6-2-3 (req.) |
MISRA.NULL.STMT Null statement is not the only statement on line or comments are placed incorrectly |
| M6-2-3 (必要): プリプロセッシングの前に、null ステートメントは 1 行にのみ出現しなければなりません。null ステートメントに続く最初の文字が空白文字である場合に限り、その後にコメントを続けることができます。 |
MISRA.NULL.STMT Null statement is not the only statement on line or comments are placed incorrectly |
| M6-3-1 (Required): The statement forming the body of a switch |
MISRA.STMT.NO_COMPOUND The body of switch, while, do/while or for statement is not a compound statement |
| M6-3-1 (req.) |
MISRA.STMT.NO_COMPOUND The body of switch, while, do/while or for statement is not a compound statement |
| M6-3-1 (必要): switch、while、do ... while、または for ステートメントの本体を形成するステートメントは、複合ステートメントでなければなりません。 |
MISRA.STMT.NO_COMPOUND The body of switch, while, do/while or for statement is not a compound statement |
| M6-4-1 (Required): An if ( condition ) construct shall be followed by a compound statement. The else keyword shall be followed by either a compound statement |
MISRA.IF.NO_COMPOUND The body of if/else statement is not a compound statement |
| M6-4-1 (req.) |
MISRA.IF.NO_COMPOUND The body of if/else statement is not a compound statement |
| M6-4-1 (必要): if (条件) 構造の後には複合ステートメントが続く必要があります。else キーワードの後には、複合ステートメントまたは別の if ステートメントが続く必要があります。 |
MISRA.IF.NO_COMPOUND The body of if/else statement is not a compound statement |
| M6-4-2 (Required): All if ... else if constructs shall be terminated with an else clause. |
MISRA.IF.NO_ELSE A chain of if/else-if statements is not terminated with else or is terminated with an empty else clause |
| M6-4-2 (req.) |
MISRA.IF.NO_ELSE A chain of if/else-if statements is not terminated with else or is terminated with an empty else clause |
| M6-4-2 (必要): すべての if ... else if 構文は else 節で終了しなければなりません。 |
MISRA.IF.NO_ELSE A chain of if/else-if statements is not terminated with else or is terminated with an empty else clause |
| M6-4-3 (Required): A switch statement shall be a well-formed switch statement. |
MISRA.SWITCH.NOT_WELL_FORMED Switch statement is not well-formed |
| M6-4-3 (req.) |
MISRA.SWITCH.NOT_WELL_FORMED Switch statement is not well-formed |
| M6-4-3 (必要): switch ステートメントは、適切な形式の switch ステートメントでなければなりません。 |
MISRA.SWITCH.NOT_WELL_FORMED Switch statement is not well-formed |
| M6-4-4 (Required): A switch-label shall only be used when the most closely-enclosing compound statement is the body of a switch statement. |
MISRA.SWITCH.LABEL A switch label belongs to nested compound statement inside switch body |
| M6-4-4 (req.) |
MISRA.SWITCH.LABEL A switch label belongs to nested compound statement inside switch body |
| M6-4-4 (必要): switch ラベルは、最も近くで囲む複合ステートメントが switch ステートメントの本体である場合にのみ使用しなければなりません。 |
MISRA.SWITCH.LABEL A switch label belongs to nested compound statement inside switch body |
| M6-4-5 (Required): An unconditional throw or break statement shall terminate every non-empty switch-clause. |
MISRA.SWITCH.NO_BREAK No break or throw statement at the end of switch-clause |
| M6-4-5 (req.) |
MISRA.SWITCH.NO_BREAK No break or throw statement at the end of switch-clause |
| M6-4-5 (必要): 無条件の throw または break ステートメントは、すべての空でない switch 節を終了しなければなりません。 |
MISRA.SWITCH.NO_BREAK No break or throw statement at the end of switch-clause |
| M6-4-6 (Required): The final clause of a switch statement shall be the default-clause. |
MISRA.SWITCH.NODEFAULT No default clause at the end of a switch statement |
| M6-4-6 (req.) |
MISRA.SWITCH.NODEFAULT No default clause at the end of a switch statement |
| M6-4-6 (必要): switch ステートメントの最後の節は default 節でなければなりません。 |
MISRA.SWITCH.NODEFAULT No default clause at the end of a switch statement |
| M6-4-7 (Required): The condition of a switch statement shall not have bool type. |
MISRA.SWITCH.BOOL Condition of switch statement is boolean expression |
| M6-4-7 (req.) |
MISRA.SWITCH.BOOL Condition of switch statement is boolean expression |
| M6-4-7 (必要): switch ステートメントの条件は bool 型であってはなりません。 |
MISRA.SWITCH.BOOL Condition of switch statement is boolean expression |
| M6-5-2 (Required): If loop-counter is not modified by −− or ++ |
MISRA.FOR.COND.EQ ++ or -- operations are not used to change loop counter, but condition tests loop counter for equality |
| M6-5-2 (req.) |
MISRA.FOR.COND.EQ ++ or -- operations are not used to change loop counter, but condition tests loop counter for equality |
| M6-5-2 (必要): ループカウンターが −− または ++ によって変更されていない場合、条件内で、ループカウンターは <=、<、>、または >= のオペランドとしてのみ使用されなければなりません。 |
MISRA.FOR.COND.EQ ++ or -- operations are not used to change loop counter, but condition tests loop counter for equality |
| M6-5-3 (Required): The loop-counter shall not be modified within condition or statement. |
MISRA.FOR.COND.CHANGE For loop counter is modified within the loop condition section MISRA.FOR.STMT.CHANGE For loop counter is modified within the loop statement |
| M6-5-3 (req.) |
MISRA.FOR.COND.CHANGE For loop counter is modified within the loop condition section MISRA.FOR.STMT.CHANGE For loop counter is modified within the loop statement |
| M6-5-3 (必要): ループカウンターは、条件またはステートメント内で変更されてはなりません。 |
MISRA.FOR.COND.CHANGE For loop counter is modified within the loop condition section MISRA.FOR.STMT.CHANGE For loop counter is modified within the loop statement |
| M6-5-4 (Required): The loop-counter shall be modified by one of: −− |
MISRA.FOR.INCR For loop counter is modified in an inappropriate way |
| M6-5-4 (req.) |
MISRA.FOR.INCR For loop counter is modified in an inappropriate way |
| M6-5-4 (必要): ループカウンターは、−−、++、− = n、または + = n (n はループの期間中一定のまま) のいずれかによって変更されなければなりません。 |
MISRA.FOR.INCR For loop counter is modified in an inappropriate way |
| M6-5-5 (Required): A loop-control-variable other than the loop-counter shall not be modified within condition or expression. |
MISRA.FOR.LOOP_CONTROL.CHANGE.COND Loop control variable is modified in condition section of a for loop MISRA.FOR.LOOP_CONTROL.CHANGE.EXPR Loop control variable is modified in expression section of a for loop |
| M6-5-5 (req.) |
MISRA.FOR.LOOP_CONTROL.CHANGE.COND Loop control variable is modified in condition section of a for loop MISRA.FOR.LOOP_CONTROL.CHANGE.EXPR Loop control variable is modified in expression section of a for loop |
| M6-5-5 (必要): ループカウンター以外のループ制御変数は、条件または式内で変更されてはなりません。 |
MISRA.FOR.LOOP_CONTROL.CHANGE.COND Loop control variable is modified in condition section of a for loop MISRA.FOR.LOOP_CONTROL.CHANGE.EXPR Loop control variable is modified in expression section of a for loop |
| M6-5-6 (Required): A loop-control-variable other than the loop-counter which is modified in statement shall have type bool. |
MISRA.FOR.LOOP_CONTROL.NOT_BOOLEAN Loop control variable is not boolean |
| M6-5-6 (req.) |
MISRA.FOR.LOOP_CONTROL.NOT_BOOLEAN Loop control variable is not boolean |
| M6-5-6 (必要): ステートメントで変更されるループカウンター以外のループ制御変数は、bool 型でなければなりません。 |
MISRA.FOR.LOOP_CONTROL.NOT_BOOLEAN Loop control variable is not boolean |
| M6-6-1 (Required): Any label referenced by a goto statement shall be declared in the same block |
MISRA.GOTO.NESTED Goto to a label declared in a nested compound statement |
| M6-6-1 (req.) |
MISRA.GOTO.NESTED Goto to a label declared in a nested compound statement |
| M6-6-1 (必要): goto ステートメントで参照されるラベルは同じブロック内、または goto ステートメントを囲むブロック内で宣言しなければなりません。 |
MISRA.GOTO.NESTED Goto to a label declared in a nested compound statement |
| M6-6-2 (Required): The goto statement shall jump to a label declared later in the same function body. |
MISRA.GOTO.AFTER.LABEL Unconstrained use of goto |
| M6-6-2 (req.) |
MISRA.GOTO.AFTER.LABEL Unconstrained use of goto |
| M6-6-2 (必要): goto ステートメントは、同じ関数本体内で後で宣言されたラベルにジャンプしなければなりません。 |
MISRA.GOTO.AFTER.LABEL Unconstrained use of goto |
| M6-6-3 (Required): The continue statement shall only be used within a well-formed for loop. |
MISRA.CONTINUE.ILL Continue statement is used in an ill-formed for loop |
| M6-6-3 (req.) |
MISRA.CONTINUE.ILL Continue statement is used in an ill-formed for loop |
| M6-6-3 (必要): continue ステートメントは、整形式の for ループ内でのみ使用されなければなりません。 |
MISRA.CONTINUE.ILL Continue statement is used in an ill-formed for loop |
| M7-1-2 (Required): A pointer or reference parameter in a function shall be declared as pointer to const or reference to const if the corresponding object is not modified. |
MISRA.PPARAM.NEEDS.CONST Pointer parameter is not used to modify the addressed object but is not declared as a pointer to const |
| M7-1-2 (req.) |
MISRA.PPARAM.NEEDS.CONST Pointer parameter is not used to modify the addressed object but is not declared as a pointer to const |
| M7-1-2 (必要): 関数内のポインターまたは参照パラメーターは、対応するオブジェクトが変更されていない場合は、const へのポインターまたは const への参照として宣言しなければなりません。 |
MISRA.PPARAM.NEEDS.CONST Pointer parameter is not used to modify the addressed object but is not declared as a pointer to const |
| M7-3-1 (Required): The global namespace shall only contain main |
MISRA.NS.GLOBAL Function, variable or type declaration in global namespace MISRA.NS.GLOBAL.USING Using directive or declaration in global namespace |
| M7-3-1 (req.) |
MISRA.NS.GLOBAL Function, variable or type declaration in global namespace MISRA.NS.GLOBAL.USING Using directive or declaration in global namespace |
| M7-3-1 (必要): グローバル名前空間には、main、名前空間宣言、extern "C" 宣言のみを含めなければなりません。 |
MISRA.NS.GLOBAL Function, variable or type declaration in global namespace MISRA.NS.GLOBAL.USING Using directive or declaration in global namespace |
| M7-3-2 (Required): The identifier main shall not be used for a function other than the global function main. |
MISRA.NS.MAIN Non-global function with name 'main' is defined |
| M7-3-2 (req.) |
MISRA.NS.MAIN Non-global function with name 'main' is defined |
| M7-3-2 (必要): 識別子 main は、グローバル関数 main 以外の関数には使用してはなりません。 |
MISRA.NS.MAIN Non-global function with name 'main' is defined |
| M7-3-3 (Required): There shall be no unnamed namespaces in header files. |
MISRA.NAMESPACE.UNMD Unnamed namespace in header file |
| M7-3-3 (req.) |
MISRA.NAMESPACE.UNMD Unnamed namespace in header file |
| M7-3-3 (必要): ヘッダーファイルに名前のない名前空間があってはなりません。 |
MISRA.NAMESPACE.UNMD Unnamed namespace in header file |
| M7-3-4 (Required): Using-directives shall not be used. |
MISRA.NS.USING_DIR Using directive |
| M7-3-4 (req.) |
MISRA.NS.USING_DIR Using directive |
| M7-3-4 (必要): using ディレクティブは使用してはなりません。 |
MISRA.NS.USING_DIR Using directive |
| M7-3-6 (Required): Using-directives and using-declarations (excluding class scope or function scope using-declarations) shall not be used in header files. |
MISRA.NAMESPACE.DECL Using-declaration in header file MISRA.NAMESPACE.DIR Using-directive in header file MISRA.NS.USING.HEADER Using directive or declaration is used in a header file |
| M7-3-6 (req.) |
MISRA.NAMESPACE.DECL Using-declaration in header file MISRA.NAMESPACE.DIR Using-directive in header file MISRA.NS.USING.HEADER Using directive or declaration is used in a header file |
| M7-3-6 (必要): using ディレクティブおよび using 宣言 (クラススコープまたは関数スコープの using 宣言を除く) は、ヘッダーファイルでは使用してはなりません。 |
MISRA.NAMESPACE.DECL Using-declaration in header file MISRA.NAMESPACE.DIR Using-directive in header file MISRA.NS.USING.HEADER Using directive or declaration is used in a header file |
| M7-4-2 (Required): Assembler instructions shall only be introduced using the asm declaration. |
MISRA.PRAGMA.ASM Incorrect assembler instruction |
| M7-4-2 (req.) |
MISRA.PRAGMA.ASM Incorrect assembler instruction |
| M7-4-2 (必要): アセンブラー命令は、asm 宣言を使用してのみ導入しなければなりません。 |
MISRA.PRAGMA.ASM Incorrect assembler instruction |
| M7-4-3 (Required): Assembly language shall be encapsulated and isolated. |
MISRA.ASM.ENCAPS Assembly language is not isolated. |
| M7-4-3 (req.) |
MISRA.ASM.ENCAPS Assembly language is not isolated. |
| M7-4-3 (必要): アセンブリ言語はカプセル化および分離されなければなりません。 |
MISRA.ASM.ENCAPS Assembly language is not isolated. |
| M8-0-1 (Required): An init-declarator-list or a member-declarator-list shall consist of a single init-declarator or member-declarator respectively. |
MISRA.DECL.MANY_DCLS More than one declarator in one declaration |
| M8-0-1 (req.) |
MISRA.DECL.MANY_DCLS More than one declarator in one declaration |
| M8-0-1 (必要): 初期化宣言子リストまたはメンバー宣言子リストは、それぞれ単一の初期化宣言子またはメンバー宣言子で構成されなければなりません。 |
MISRA.DECL.MANY_DCLS More than one declarator in one declaration |
| M8-3-1 (Required): Parameters in an overriding virtual function shall either use the same default arguments as the function they override |
MISRA.SAME.DEFPARAMS Overriding virtual function and the function it overrides have different default arguments |
| M8-3-1 (req.) |
MISRA.SAME.DEFPARAMS Overriding virtual function and the function it overrides have different default arguments |
| M8-3-1 (必要): オーバーライドする仮想関数のパラメータは、オーバーライドする関数と同じデフォルト引数を使用するか、デフォルト引数を指定しないかのいずれかでなければなりません。 |
MISRA.SAME.DEFPARAMS Overriding virtual function and the function it overrides have different default arguments |
| M8-4-2 (Required): The identifiers used for the parameters in a re-declaration of a function shall be identical to those in the declaration. |
MISRA.FUNC.PARAMS.IDENT Identifiers used in declaration and definition of function are not identical |
| M8-4-2 (req.) |
MISRA.FUNC.PARAMS.IDENT Identifiers used in declaration and definition of function are not identical |
| M8-4-2 (必要): 関数の再宣言でパラメータに使用される識別子は、宣言内の識別子と同一でなければなりません。 |
MISRA.FUNC.PARAMS.IDENT Identifiers used in declaration and definition of function are not identical |
| M8-4-4 (Required): A function identifier shall either be used to call the function or it shall be preceded by &. |
MISRA.FUNC.ADDR Address of a function is used without & operator |
| M8-4-4 (req.) |
MISRA.FUNC.ADDR Address of a function is used without & operator |
| M8-4-4 (必要): 関数識別子は、関数を呼び出すために使用されるか、または、その前に & が付けられなければなりません。 |
MISRA.FUNC.ADDR Address of a function is used without & operator |
| M8-5-2 (Required): Braces shall be used to indicate and match the structure in the non-zero initialization of arrays and structures. |
MISRA.INIT.BRACES Incorrect initializer braces placement. |
| M8-5-2 (req.) |
MISRA.INIT.BRACES Incorrect initializer braces placement. |
| M8-5-2 (必要): 配列と構造体の非ゼロ初期化では、構造を示して一致させるために {} (波括弧) を使用しなければなりません。 |
MISRA.INIT.BRACES Incorrect initializer braces placement. |
| M9-3-1 (Required): Const member functions shall not return non-const pointers or references to class-data. |
MISRA.CONST.RET.NON_CONST Constant member function returns non-const pointer to member variable |
| M9-3-1 (req.) |
MISRA.CONST.RET.NON_CONST Constant member function returns non-const pointer to member variable |
| M9-3-1 (必要): const メンバー関数は、非 const ポインターやクラスデータへの参照を返してはなりません。 |
MISRA.CONST.RET.NON_CONST Constant member function returns non-const pointer to member variable |
| M9-3-3 (Required): If a member function can be made static then it shall be made static |
MISRA.MEMB.NON_CONST Non-const member function does not change any member variables MISRA.MEMB.NON_STATIC Non-static member function does not use other non-static members of the same class |
| M9-3-3 (req.) |
MISRA.MEMB.NON_CONST Non-const member function does not change any member variables MISRA.MEMB.NON_STATIC Non-static member function does not use other non-static members of the same class |
| M9-3-3 (必要): メンバー関数を static にできる場合は static にし、const にできる場合は const にしなければなりません。 |
MISRA.MEMB.NON_CONST Non-const member function does not change any member variables MISRA.MEMB.NON_STATIC Non-static member function does not use other non-static members of the same class |
| M9-6-4 (Required): Named bit-fields with signed integer type shall have a length of more than one bit. |
MISRA.BITFIELD.SIGNED Length of a named signed bit-field is less than 2 |
| M9-6-4 (req.) |
MISRA.BITFIELD.SIGNED Length of a named signed bit-field is less than 2 |
| M9-6-4 (必要): 符号付き整数型の名前付きビットフィールドは 1 ビットを超える長さでなければなりません。 |
MISRA.BITFIELD.SIGNED Length of a named signed bit-field is less than 2 |
| M10-1-1 (Advisory): Classes should not be derived from virtual bases. |
MISRA.DERIVE.VIRTUAL Class is derived from virtual base |
| M10-1-1 (adv.) |
MISRA.DERIVE.VIRTUAL Class is derived from virtual base |
| M10-1-1 (推奨): クラスは仮想基底から派生してはなりません。 |
MISRA.DERIVE.VIRTUAL Class is derived from virtual base |
| M10-1-2 (Required): A base class shall only be declared virtual if it is used in a diamond hierarchy. |
MISRA.VIRTUAL.BASE.DIAMOND Base class is used as virtual not in diamond hierarchy |
| M10-1-2 (req.) |
MISRA.VIRTUAL.BASE.DIAMOND Base class is used as virtual not in diamond hierarchy |
| M10-1-2 (必要): 基底クラスは、ダイヤモンド階層で使用される場合にのみ仮想として宣言しなければなりません。 |
MISRA.VIRTUAL.BASE.DIAMOND Base class is used as virtual not in diamond hierarchy |
| M10-1-3 (Required): An accessible base class shall not be both virtual and non-virtual in the same hierarchy. |
MISRA.BASE.VIRTUAL.NOTVIRTUAL Base class is used as both virtual and not virtual in inheritance hierarchy |
| M10-1-3 (req.) |
MISRA.BASE.VIRTUAL.NOTVIRTUAL Base class is used as both virtual and not virtual in inheritance hierarchy |
| M10-1-3 (必要): アクセス可能な基底クラスは、同じ階層内で仮想と非仮想の両方であってはなりません。 |
MISRA.BASE.VIRTUAL.NOTVIRTUAL Base class is used as both virtual and not virtual in inheritance hierarchy |
| M10-2-1 (Advisory): All accessible entity names within a multiple inheritance hierarchy should be unique. |
MISRA.BASE.IDS.UNIQUE Member name is used twice in inheritance hierarchy |
| M10-2-1 (adv.) |
MISRA.BASE.IDS.UNIQUE Member name is used twice in inheritance hierarchy |
| M10-2-1 (推奨): 多重継承階層内のアクセス可能なエンティティ名はすべて一意でなければなりません。 |
MISRA.BASE.IDS.UNIQUE Member name is used twice in inheritance hierarchy |
| M10-3-3 (Required): A virtual function shall only be overridden by a pure virtual function if it is itself declared as pure virtual. |
MISRA.PUREVIRT.OVRD Pure virtual function overrides a non pure virtual function |
| M10-3-3 (req.) |
MISRA.PUREVIRT.OVRD Pure virtual function overrides a non pure virtual function |
| M10-3-3 (必要): 仮想関数は、それ自体が純粋仮想として宣言されている場合は、純粋仮想関数によってのみオーバーライドされなければなりません。 |
MISRA.PUREVIRT.OVRD Pure virtual function overrides a non pure virtual function |
| M11-0-1 (Required): Member data in non-POD class types shall be private. |
MISRA.MEMB.NOT_PRIVATE Member variable in non-POD class is not private |
| M11-0-1 (req.) |
MISRA.MEMB.NOT_PRIVATE Member variable in non-POD class is not private |
| M11-0-1 (必要): 非 POD クラス型のメンバーデータはプライベートでなければなりません。 |
MISRA.MEMB.NOT_PRIVATE Member variable in non-POD class is not private |
| M12-1-1 (Required): An object’s dynamic type shall not be used from the body of its constructor or destructor. |
MISRA.CTOR.DYNAMIC Object's dynamic type is used from the body of its constructor MISRA.DTOR.DYNAMIC Object's dynamic type is used from the body of its destructor |
| M12-1-1 (req.) |
MISRA.CTOR.DYNAMIC Object's dynamic type is used from the body of its constructor MISRA.DTOR.DYNAMIC Object's dynamic type is used from the body of its destructor |
| M12-1-1 (必要): オブジェクトの dynamic 型は、そのコンストラクターまたはデストラクターの本体から使用してはなりません。 |
MISRA.CTOR.DYNAMIC Object's dynamic type is used from the body of its constructor MISRA.DTOR.DYNAMIC Object's dynamic type is used from the body of its destructor |
| M14-5-3 (Required): A copy assignment operator shall be declared when there is a template assignment operator with a parameter that is a generic parameter. |
MISRA.COPYASSIGN.TMPL A copy ssignment operator should be defined when class has a template copy assignment operator with a single generic parameter |
| M14-5-3 (req.) |
MISRA.COPYASSIGN.TMPL A copy ssignment operator should be defined when class has a template copy assignment operator with a single generic parameter |
| M14-5-3 (必要): 汎用パラメーターを持つテンプレート代入演算子がある場合は、コピー代入演算子を宣言しなければなりません。 |
MISRA.COPYASSIGN.TMPL A copy ssignment operator should be defined when class has a template copy assignment operator with a single generic parameter |
| M14-6-1 (Required): In a class template with a dependent base |
MISRA.TEMPLMEM.NOQUAL In an instantiated template a member declared in a dependant base is used without a qualificator or 'this' |
| M14-6-1 (req.) |
MISRA.TEMPLMEM.NOQUAL In an instantiated template a member declared in a dependant base is used without a qualificator or 'this' |
| M14-6-1 (必要): 依存ベースを持つクラステンプレートでは、その依存ベースで見つかる名前は、すべて、修飾 ID または this-> を使用して参照されなければなりません。 |
MISRA.TEMPLMEM.NOQUAL In an instantiated template a member declared in a dependant base is used without a qualificator or 'this' |
| M15-0-3 (Required): Control shall not be transferred into a try or catch block using a goto or a switch statement. |
MISRA.TRY.JUMP Control can be transferred into a try block with goto or switch statement |
| M15-0-3 (req.) |
MISRA.TRY.JUMP Control can be transferred into a try block with goto or switch statement |
| M15-0-3 (必要): goto または switch ステートメントを使用して、制御を try または catch ブロックに転送してはなりません。 |
MISRA.TRY.JUMP Control can be transferred into a try block with goto or switch statement |
| M15-1-2 (Required): NULL shall not be thrown explicitly. |
MISRA.THROW.NULL NULL is thrown explicitly |
| M15-1-2 (req.) |
MISRA.THROW.NULL NULL is thrown explicitly |
| M15-1-2 (必要): null は明示的にスローさせてはなりません。 |
MISRA.THROW.NULL NULL is thrown explicitly |
| M15-1-3 (Required): An empty throw (throw;) shall only be used in the compound statement of a catch handler. |
MISRA.THROW.EMPTY Empty throw expression does not belong to a catch block |
| M15-1-3 (req.) |
MISRA.THROW.EMPTY Empty throw expression does not belong to a catch block |
| M15-1-3 (必要): 空の throw (throw;) は、catch ハンドラーの複合ステートメントでのみ使用されなければなりません。 |
MISRA.THROW.EMPTY Empty throw expression does not belong to a catch block |
| M15-3-3 (Required): Handlers of a function-try-block implementation of a class constructor or destructor shall not reference non-static members from this class or its bases. |
MISRA.CTOR.TRY.NON_STATIC Function try/catch block of constructor or destructor references non-static members |
| M15-3-3 (req.) |
MISRA.CTOR.TRY.NON_STATIC Function try/catch block of constructor or destructor references non-static members |
| M15-3-3 (必要): クラスコンストラクターまたはデストラクターの関数 try ブロック実装のハンドラーは、このクラスまたはそのベースの非静的メンバーを参照してはなりません。 |
MISRA.CTOR.TRY.NON_STATIC Function try/catch block of constructor or destructor references non-static members |
| M15-3-6 (Required): Where multiple handlers are provided in a single try-catch statement or function-try-block for a derived class and some or all of its bases |
MISRA.CATCH.WRONGORD Handler for a base exception class precedes to a handler for a derived exception class in a try-catch block |
| M15-3-6 (req.) |
MISRA.CATCH.WRONGORD Handler for a base exception class precedes to a handler for a derived exception class in a try-catch block |
| M15-3-6 (必要): 派生クラスとその一部またはすべてのベースに対して、単一の try-catch ステートメントまたは function-try-block に複数のハンドラーが提供されている場合、ハンドラーはベースクラスの派生順に並べられなければなりません。 |
MISRA.CATCH.WRONGORD Handler for a base exception class precedes to a handler for a derived exception class in a try-catch block |
| M15-3-7 (Required): Where multiple handlers are provided in a single try-catch statement or function-try-block |
MISRA.CATCH.NOALL Ellipsis exception handler is not the last one in a try-catch block |
| M15-3-7 (req.) |
MISRA.CATCH.NOALL Ellipsis exception handler is not the last one in a try-catch block |
| M15-3-7 (必要): 単一の try-catch ステートメントまたは function-try-block に複数のハンドラーが提供されている場合、省略記号 (catch-all) ハンドラーは最後に出現しなければなりません。 |
MISRA.CATCH.NOALL Ellipsis exception handler is not the last one in a try-catch block |
| M16-0-1 (Required): #include directives in a file shall only be preceded by other pre-processor directives or comments. |
MISRA.INCL.INSIDE Include directive preceded by a preprocessor output token |
| M16-0-1 (req.) |
MISRA.INCL.INSIDE Include directive preceded by a preprocessor output token |
| M16-0-1 (必要): ファイル内の #include ディレクティブの前には、他のプリプロセッサディレクティブまたはコメントのみを置かなければなりません。 |
MISRA.INCL.INSIDE Include directive preceded by a preprocessor output token |
| M16-0-2 (Required): Macros shall only be #define’d or #undef’d in the global namespace. |
MISRA.DEFINE.NOTGLOBAL Define not at the global level MISRA.UNDEF.NOTGLOBAL Undef not at the global level |
| M16-0-2 (req.) |
MISRA.DEFINE.NOTGLOBAL Define not at the global level MISRA.UNDEF.NOTGLOBAL Undef not at the global level |
| M16-0-2 (必要): マクロは、グローバル名前空間内でのみ #define または #undef されるものとします。 |
MISRA.DEFINE.NOTGLOBAL Define not at the global level MISRA.UNDEF.NOTGLOBAL Undef not at the global level |
| M16-0-5 (Required): Arguments to a function-like macro shall not contain tokens that look like pre-processing directives. |
MISRA.EXPANSION.DIRECTIVE Directive-like tokens within a macro argument |
| M16-0-5 (req.) |
MISRA.EXPANSION.DIRECTIVE Directive-like tokens within a macro argument |
| M16-0-5 (必要): 関数のようなマクロへの引数には、プリプロセッサディレクティブのように見えるトークンを含めてはなりません。 |
MISRA.EXPANSION.DIRECTIVE Directive-like tokens within a macro argument |
| M16-0-6 (Required): In the definition of a function-like macro |
MISRA.DEFINE.NOPARS Macro parameter with no parentheses |
| M16-0-6 (req.) |
MISRA.DEFINE.NOPARS Macro parameter with no parentheses |
| M16-0-6 (必要): 関数のようなマクロの定義では、パラメーターの各インスタンスは、# または ## のオペランドとして使用されていない限り、括弧で囲まなければなりません。 |
MISRA.DEFINE.NOPARS Macro parameter with no parentheses |
| M16-0-7 (Required): Undefined macro identifiers shall not be used in #if or #elif pre-processor directives |
MISRA.ELIF.UNDEF Undefined macros in #elif directive MISRA.IF.UNDEF Undefined macros in #if directive |
| M16-0-7 (req.) |
MISRA.ELIF.UNDEF Undefined macros in #elif directive MISRA.IF.UNDEF Undefined macros in #if directive |
| M16-0-7 (必要): 未定義のマクロ識別子は、定義済み演算子のオペランドとして使用する場合を除き、#if または #elif プリプロセッサディレクティブで使用してはなりません。 |
MISRA.ELIF.UNDEF Undefined macros in #elif directive MISRA.IF.UNDEF Undefined macros in #if directive |
| M16-0-8 (Required): If the # token appears as the first token on a line |
MISRA.USE.UNKNOWNDIR Unknown preprocessor directive is used |
| M16-0-8 (req.) |
MISRA.USE.UNKNOWNDIR Unknown preprocessor directive is used |
| M16-0-8 (必要): # トークンが行の最初のトークンとして出現する場合は、その直後にプリプロセッサトークンが続かなければなりません。 |
MISRA.USE.UNKNOWNDIR Unknown preprocessor directive is used |
| M16-1-1 (Required): The defined pre-processor operator shall only be used in one of the two standard forms. |
MISRA.ELIF.DEFINED Incorrect 'defined' usage in #elif directive MISRA.IF.DEFINED Incorrect 'defined' usage in #if directive |
| M16-1-1 (req.) |
MISRA.ELIF.DEFINED Incorrect 'defined' usage in #elif directive MISRA.IF.DEFINED Incorrect 'defined' usage in #if directive |
| M16-1-1 (必要): 定義されたプリプロセッサ演算子は、2 つの標準形式のいずれかでのみ使用しなければなりません。 |
MISRA.ELIF.DEFINED Incorrect 'defined' usage in #elif directive MISRA.IF.DEFINED Incorrect 'defined' usage in #if directive |
| M16-1-2 (Required): All #else |
MISRA.ELIF.OTHERFILE #elif in an improper file MISRA.ELSE.OTHERFILE #else in an improper file MISRA.ENDIF.OTHERFILE #endif in an improper file |
| M16-1-2 (req.) |
MISRA.ELIF.OTHERFILE #elif in an improper file MISRA.ELSE.OTHERFILE #else in an improper file MISRA.ENDIF.OTHERFILE #endif in an improper file |
| M16-1-2 (必要): すべての #else、#elif、#endif プリプロセッサディレクティブは、それらが関連する #if または #ifdef ディレクティブと同じファイル内になければなりません。 |
MISRA.ELIF.OTHERFILE #elif in an improper file MISRA.ELSE.OTHERFILE #else in an improper file MISRA.ENDIF.OTHERFILE #endif in an improper file |
| M16-2-3 (Required): Include guards shall be provided. |
MISRA.INCGUARD Include guard is not provided |
| M16-2-3 (req.) |
MISRA.INCGUARD Include guard is not provided |
| M16-2-3 (必要): インクルードガードが提供されなければなりません。 |
MISRA.INCGUARD Include guard is not provided |
| M16-3-1 (Required): There shall be at most one occurrence of the # or ## operators in a single macro definition. |
MISRA.DEFINE.SHARP.MANY Several # or ## operators in a macro definition |
| M16-3-1 (req.) |
MISRA.DEFINE.SHARP.MANY Several # or ## operators in a macro definition |
| M16-3-1 (必要): 単一のマクロ定義内で、# または ## 演算子は最大 1 回出現しなければなりません。 |
MISRA.DEFINE.SHARP.MANY Several # or ## operators in a macro definition |
| M16-3-2 (Advisory): The # and ## operators should not be used. |
MISRA.DEFINE.SHARP # or ## operator in a macro definition |
| M16-3-2 (adv.) |
MISRA.DEFINE.SHARP # or ## operator in a macro definition |
| M16-3-2 (推奨): # および ## 演算子は使用してはなりません。 |
MISRA.DEFINE.SHARP # or ## operator in a macro definition |
| M17-0-2 (Required): The names of standard library macros and objects shall not be reused. |
MISRA.UNDEF.WRONGNAME Undefinition of a name from the standard library MISRA.UNDEF.WRONGNAME.UNDERSCORE Undefinition of a reserved name |
| M17-0-2 (req.) |
MISRA.UNDEF.WRONGNAME Undefinition of a name from the standard library MISRA.UNDEF.WRONGNAME.UNDERSCORE Undefinition of a reserved name |
| M17-0-2 (必要): 標準ライブラリのマクロとオブジェクトの名前は再利用してはなりません。 |
MISRA.UNDEF.WRONGNAME Undefinition of a name from the standard library MISRA.UNDEF.WRONGNAME.UNDERSCORE Undefinition of a reserved name |
| M17-0-3 (Required): The names of standard library functions shall not be overridden. |
MISRA.STDLIB.WRONGNAME Reused name of standard library macro, object or function MISRA.STDLIB.WRONGNAME.UNDERSCORE Usage of a reserved name for naming a language entity |
| M17-0-3 (req.) |
MISRA.STDLIB.WRONGNAME Reused name of standard library macro, object or function MISRA.STDLIB.WRONGNAME.UNDERSCORE Usage of a reserved name for naming a language entity |
| M17-0-3 (必要): 標準ライブラリ関数の名前はオーバーライドされてはなりません。 |
MISRA.STDLIB.WRONGNAME Reused name of standard library macro, object or function MISRA.STDLIB.WRONGNAME.UNDERSCORE Usage of a reserved name for naming a language entity |
| M17-0-5 (Required): The setjmp macro and the longjmp function shall not be used. |
MISRA.STDLIB.LONGJMP Use of setjmp macro or longjmp function |
| M17-0-5 (req.) |
MISRA.STDLIB.LONGJMP Use of setjmp macro or longjmp function |
| M17-0-5 (必要): setjmp マクロおよび longjmp 関数は使用してはなりません。 |
MISRA.STDLIB.LONGJMP Use of setjmp macro or longjmp function |
| M18-0-3 (Required): The library functions abort |
MISRA.STDLIB.ABORT Use of 'abort', 'exit', 'getenv' or 'system' from library stdlib.h |
| M18-0-3 (req.) |
MISRA.STDLIB.ABORT Use of 'abort', 'exit', 'getenv' or 'system' from library stdlib.h |
| M18-0-3 (必要): ライブラリ <cstdlib> のライブラリ関数 abort、exit、getenv、および system は使用してはなりません。 |
MISRA.STDLIB.ABORT Use of 'abort', 'exit', 'getenv' or 'system' from library stdlib.h |
| M18-0-4 (Required): The time handling functions of library <ctime> shall not be used. |
MISRA.STDLIB.TIME Use of the time handling functions of library time.h |
| M18-0-4 (req.) |
MISRA.STDLIB.TIME Use of the time handling functions of library time.h |
| M18-0-4 (必要): ライブラリ <ctime> の時間処理関数は使用してはなりません。 |
MISRA.STDLIB.TIME Use of the time handling functions of library time.h |
| M18-0-5 (Required): The unbounded functions of library <cstring> shall not be used. |
MISRA.STDLIB.CSTRING Function from 'cstring' library is used MISRA.STDLIB.CSTRING.MACRO Macro from 'cstring' library is used |
| M18-0-5 (req.) |
MISRA.STDLIB.CSTRING Function from 'cstring' library is used MISRA.STDLIB.CSTRING.MACRO Macro from 'cstring' library is used |
| M18-0-5 (必要): ライブラリ <cstring> の無制限関数は使用してはなりません。 |
MISRA.STDLIB.CSTRING Function from 'cstring' library is used MISRA.STDLIB.CSTRING.MACRO Macro from 'cstring' library is used |
| M18-7-1 (Required): The signal handling facilities of <csignal> shall not be used. |
MISRA.STDLIB.SIGNAL Use of the signal handling facilities of signal.h |
| M18-7-1 (req.) |
MISRA.STDLIB.SIGNAL Use of the signal handling facilities of signal.h |
| M18-7-1 (必要): <csignal> のシグナル処理機能は使用してはなりません。 |
MISRA.STDLIB.SIGNAL Use of the signal handling facilities of signal.h |
| M19-3-1 (Required): The error indicator errno shall not be used. |
MISRA.STDLIB.ERRNO Use of error indicator 'errno' |
| M19-3-1 (req.) |
MISRA.STDLIB.ERRNO Use of error indicator 'errno' |
| M19-3-1 (必要): エラーインジケーター errno は使用してはなりません。 |
MISRA.STDLIB.ERRNO Use of error indicator 'errno' |
| M27-0-1 (Required): The stream input/output library <cstdio> shall not be used. |
MISRA.STDLIB.STDIO Use of input/output library stdio.h in production code |
| M27-0-1 (req.) |
MISRA.STDLIB.STDIO Use of input/output library stdio.h in production code |
| M27-0-1 (必要): ストリーム入力/出力ライブラリ <cstdio> は使用してはなりません。 |
MISRA.STDLIB.STDIO Use of input/output library stdio.h in production code |
| \ characters shall not occur in a header file name or in #include directive. |
MISRA.INCL.SYMS Non-standard characters in header file names |
| a function return type |
MISRA.OBJ.TYPE.IDENT Type not identical with type of other declaration |
| a null statement shall only occur on a line by itself; it may be followed by a comment |
MISRA.NULL.STMT Null statement is not the only statement on line or comments are placed incorrectly |
| all direct non-virtual base classes and all non-static data members. |
MISRA.CTOR.BASE Constructor does not explicitly call constructor of its base class |
| and the unary & operator. |
MISRA.CHAR.OPERAND Expression of type 'char' or 'wchar_t' is used as non-character operand |
| and using the following directives: ... |
MISRA.USE.DEFINE Non-guarding macro definition |
| any ellipsis (catch-all) handler shall occur last. |
MISRA.CATCH.NOALL Ellipsis exception handler is not the last one in a try-catch block |
| any name that may be found in that dependent base shall be referred to using a qualified-id or this->. |
MISRA.TEMPLMEM.NOQUAL In an instantiated template a member declared in a dependant base is used without a qualificator or 'this' |
| calloc |
AUTOSAR.STDLIB.MEMORY Functions malloc, calloc, realloc and free shall not be used |
| const version shall also be implemented. |
AUTOSAR.OP.INDEX.NON_CONST If "operator[]" is to be overloaded with a non-const version, const version shall also be implemented |
| deallocation functions |
AUTOSAR.EXCPT.SPECIAL_MEMBER_THROW All user-provided class destructors, deallocation functions, move constructors, move assignment operators and swap functions shall not exit with an exception |
| distinct from the default label. |
AUTOSAR.SWITCH.CASECOUNT A switch statement shall have at least two case-clauses, distinct from the default label |
| do ... while or for statement shall be a compound statement. |
MISRA.STMT.NO_COMPOUND The body of switch, while, do/while or for statement is not a compound statement |
| each instance of a parameter shall be enclosed in parentheses |
MISRA.DEFINE.NOPARS Macro parameter with no parentheses |
| either (1) none |
MISRA.ENUM.INIT Non-first enumerator is explicitly initialized, but not all elements are explicitly initialized. |
| either directly or indirectly. |
MISRA.FUNC.RECUR Recursive function |
| enum type or union type declarations. |
AUTOSAR.OP.TMPL.NON_MEMBER A non-member generic operator shall only be declared in a namespace that does not contain class (struct) type, enum type or union type declarations |
| every 2 digits |
AUTOSAR.DIGIT_SEPARATORS Digit sequences separators ' shall only be used as follows (1) for decimal, every 3 digits, (2) for hexadecimal, every 2 digits, (3) for binary, every 4 digits |
| every 3 digits |
AUTOSAR.DIGIT_SEPARATORS Digit sequences separators ' shall only be used as follows (1) for decimal, every 3 digits, (2) for hexadecimal, every 2 digits, (3) for binary, every 4 digits |
| every 4 digits. |
AUTOSAR.DIGIT_SEPARATORS Digit sequences separators ' shall only be used as follows (1) for decimal, every 3 digits, (2) for hexadecimal, every 2 digits, (3) for binary, every 4 digits |
| except as operands to the defined operator. |
MISRA.ELIF.UNDEF Undefined macros in #elif directive MISRA.IF.UNDEF Undefined macros in #if directive |
| exit |
MISRA.STDLIB.ABORT Use of 'abort', 'exit', 'getenv' or 'system' from library stdlib.h |
| function or enumerator declaration in the same scope. |
MISRA.TYPE.NAMECLASH.CPP.2008 Identifier in one name space has same spelling as identifier in other name space |
| getenv and system from library <cstdlib> shall not be used. |
MISRA.STDLIB.ABORT Use of 'abort', 'exit', 'getenv' or 'system' from library stdlib.h |
| including a pointer to function type. |
MISRA.CAST.FUNC_PTR.CPP Cast converts function pointer to other pointer type |
| indicating the size and signedness |
AUTOSAR.BUILTIN_NUMERIC Fixed width integer types from <cstdint> shall be used in place of the basic numerical types |
| its size shall be stated explicitly. |
MISRA.DECL.ARRAY_SIZE Declaration of array with unknown size |
| macros and functions in the C++ standard library shall not be defined |
MISRA.DEFINE.WRONGNAME Usage of a name from the standard library for naming a macro MISRA.DEFINE.WRONGNAME.UNDERSCORE Usage of a reserved name for naming a macro |
| move assignment operators and swap functions shall not exit with an exception. |
AUTOSAR.EXCPT.SPECIAL_MEMBER_THROW All user-provided class destructors, deallocation functions, move constructors, move assignment operators and swap functions shall not exit with an exception |
| move constructors |
AUTOSAR.EXCPT.SPECIAL_MEMBER_THROW All user-provided class destructors, deallocation functions, move constructors, move assignment operators and swap functions shall not exit with an exception |
| namespace declarations and extern "C" declarations. |
MISRA.NS.GLOBAL Function, variable or type declaration in global namespace MISRA.NS.GLOBAL.USING Using directive or declaration in global namespace |
| noexcept(true) or noexcept(<true condition>) |
AUTOSAR.EXCPT.NOEXCPT_THROW If a function is declared to be noexcept, noexcept(true) or noexcept(<true condition>), then it shall not exit with an exception |
| or + = n; where n remains constant for the duration of the loop. |
MISRA.FOR.INCR For loop counter is modified in an inappropriate way |
| or a function parameter shall be token-for-token identical in all declarations and re-declarations. |
MISRA.OBJ.TYPE.IDENT Type not identical with type of other declaration |
| or another if statement. |
MISRA.IF.NO_COMPOUND The body of if/else statement is not a compound statement |
| or else shall not specify any default arguments. |
MISRA.SAME.DEFPARAMS Overriding virtual function and the function it overrides have different default arguments |
| or enumeration shall not be declared in the definition of its type. |
AUTOSAR.DECL.IN_DEFN A class, structure, or enumeration shall not be declared in the definition of its type |
| or in a block enclosing the goto statement. |
MISRA.GOTO.NESTED Goto to a label declared in a nested compound statement |
| otherwise if it can be made const then it shall be made const. |
MISRA.MEMB.NON_CONST Non-const member function does not change any member variables MISRA.MEMB.NON_STATIC Non-static member function does not use other non-static members of the same class |
| otherwise symbolic names shall be used instead. |
AUTOSAR.ADD.LITERAL Literal values shall not be used apart from type initialization |
| provided that the first character following the null statement is a white-space character. |
MISRA.NULL.STMT Null statement is not the only statement on line or comments are placed incorrectly |
| realloc and free shall not be used. |
AUTOSAR.STDLIB.MEMORY Functions malloc, calloc, realloc and free shall not be used |
| redefined or undefined. |
MISRA.DEFINE.WRONGNAME Usage of a name from the standard library for naming a macro MISRA.DEFINE.WRONGNAME.UNDERSCORE Usage of a reserved name for naming a macro |
| shall be used in place of the basic numerical types. |
AUTOSAR.BUILTIN_NUMERIC Fixed width integer types from <cstdint> shall be used in place of the basic numerical types |
| should have a file name extension of ".cpp". |
AUTOSAR.ADD.FILE.EXT Local implementation files not having .cpp file extension |
| std::exception and all otherwise unhandled exceptions. |
MISRA.CATCH.ALL No ellipsis exception handler in a try-catch block |
| structure |
AUTOSAR.DECL.IN_DEFN A class, structure, or enumeration shall not be declared in the definition of its type |
| that are defined locally in the project |
AUTOSAR.ADD.FILE.EXT Local implementation files not having .cpp file extension |
| the equality operators == and ! = |
MISRA.CHAR.OPERAND Expression of type 'char' or 'wchar_t' is used as non-character operand |
| the function shall place all objects/resources that the function constructed in valid states or it shall delete them. |
MLK.MIGHT Memory Leak - possible MLK.MUST Memory Leak MLK.RET.MIGHT Memory Leak - possible MLK.RET.MUST Memory Leak |
| the handlers shall be ordered most-derived to base class. |
MISRA.CATCH.WRONGORD Handler for a base exception class precedes to a handler for a derived exception class in a try-catch block |
| the logical && or the logical || operators shall have type bool. |
MISRA.LOGIC.NOT_BOOL Operand of logical operation is not boolean |
| the loop-counter shall only be used as an operand to <= |
MISRA.FOR.COND.EQ ++ or -- operations are not used to change loop counter, but condition tests loop counter for equality |
| the order of initialization shall be following: ... |
CWARN.MEMBER.INIT.ORDER Members of the initialization list are not listed in the order in which they are declared in the class |
| the result shall be immediately cast to the underlying type of the operand. |
MISRA.CAST.UNSIGNED_BITS The result of bitwise operation on unsigned char or short is not cast back to original type |
| the trailing return type syntax shall be used if the return type depends on the type of parameters. |
AUTOSAR.ADD.FUNC.TEMPLATE.TRAIL.RTN In function templates, the trailing return type syntax shall be used if the return type depends on the type of parameters |
| then |
MISRA.FOR.COND.EQ ++ or -- operations are not used to change loop counter, but condition tests loop counter for equality |
| then before a throw |
MLK.MIGHT Memory Leak - possible MLK.MUST Memory Leak MLK.RET.MIGHT Memory Leak - possible MLK.RET.MUST Memory Leak |
| then both sized and unsized versions shall be defined. |
AUTOSAR.OP.DELETE.MISSING_VERSION If a project has sized or unsized version of operator "delete" globally defined, then both sized and unsized versions shall be defined |
| then it shall be immediately followed by a pre-processing token. |
MISRA.USE.UNKNOWNDIR Unknown preprocessor directive is used |
| then it shall be the only constructor apart from special member function constructors. |
AUTOSAR.ADD.CTOR.INIT.LIST If a class has a user-declared constructor that takes a parameter of type std::initializer_list, then it shall be the only constructor apart from special member function constructors |
| then it shall deallocate the object’s resources and it shall throw an exception. |
CL.MLK Memory Leak - in destructor |
| then it shall not exit with an exception. |
AUTOSAR.EXCPT.NOEXCPT_THROW If a function is declared to be noexcept, noexcept(true) or noexcept(<true condition>), then it shall not exit with an exception |
| then the class should be declared final. |
AUTOSAR.DTOR.NON_VIRTUAL If a public destructor of a class is non-virtual, then the class should be declared final |
| unless it is used as the operand of # or ##. |
MISRA.DEFINE.NOPARS Macro parameter with no parentheses |
| while |
MISRA.STMT.NO_COMPOUND The body of switch, while, do/while or for statement is not a compound statement |
| within condition |
MISRA.FOR.COND.EQ ++ or -- operations are not used to change loop counter, but condition tests loop counter for equality |
| without any side effects. |
AUTOSAR.ADD.ASSIGN.OP.SIDE.EFFECT Move and copy assignment operators shall either move or respectively copy base classes and data members of a class, without any side effects |
| || operators shall not contain side effects. |
MISRA.LOGIC.SIDEEFF Right operand in a logical 'and' or 'or' expression contains side effects |
| − = n |
MISRA.FOR.INCR For loop counter is modified in an inappropriate way |
Support Summary:
- 228 enforced rules
"MISRA", "MISRA C" and "MISRA C++" are registered trademarks of The MISRA Consortium Limited.