CWARN.NOEFFECT.UCMP.GE
|
Comparison of unsigned value against 0 is always true |
0-1-2 |
Pre-9.2 |
9.5 |
CWARN.NOEFFECT.UCMP.GE.MACRO
|
Comparison of unsigned value against 0 within a macro is always true |
0-1-2 |
Pre-9.2 |
9.5 |
CWARN.NOEFFECT.UCMP.LT
|
Comparison of unsigned value against 0 is always false |
0-1-2 |
Pre-9.2 |
9.5 |
CWARN.NOEFFECT.UCMP.LT.MACRO
|
Comparison of unsigned value against 0 within a macro is always false |
0-1-2 |
Pre-9.2 |
9.5 |
FUNCRET.GEN
|
Non-void function does not return value |
8-4-3 |
Pre-9.2 |
|
LOCRET.ARG
|
Function returns address of local variable |
7-5-2 |
Pre-9.2 |
9.5 |
LOCRET.GLOB
|
Function returns address of local variable |
7-5-2 |
Pre-9.2 |
9.5 |
LOCRET.RET
|
Function returns address of local variable |
7-5-1 |
Pre-9.2 |
9.5 |
LV_UNUSED.GEN
|
Local variable unused |
0-1-3 |
Pre-9.2 |
|
MISRA.ADDR.REF.PARAM
|
Function returns reference to parameter passed by reference |
7-5-3 |
9.1 |
9.2, 11.1 |
MISRA.ADDR.REF.PARAM.PTR
|
Function returns address of parameter passed by reference |
7-5-3 |
9.2 |
11.1 |
MISRA.ASM.ENCAPS
|
Assembly language is not isolated. |
7-4-3 |
9.1 |
|
MISRA.ASSIGN.COND
|
Assignment operator is used in a condition |
6-2-1 |
9.2 |
|
MISRA.ASSIGN.OVERLAP
|
Object is assigned to an overlapping object |
0-2-1 |
9.5 |
|
MISRA.ASSIGN.SUBEXPR
|
Assignment operator is used in a sub-expression outside a condition |
6-2-1 |
9.1 |
9.2 |
MISRA.BASE.IDS.UNIQUE
|
Member name is used twice in inheritance hierarchy |
10-2-1 |
9.2 |
|
MISRA.BASE.MANYDEFS
|
Both overriding and overridden virtual functions have definitions |
10-3-1 |
9.2 |
|
MISRA.BASE.VIRTUAL.NOTVIRTUAL
|
Base class is used as both virtual and not virtual in inheritance hierarchy |
10-1-3 |
9.2 |
|
MISRA.BIN_OP.OVERLOAD
|
Comma, || or && operator overloaded |
5-2-11 |
9.1 |
|
MISRA.BITFIELD.SIGNED
|
Length of a named signed bit-field is less than 2 |
9-6-4 |
9.1 |
9.2, 10.4 |
MISRA.BITFIELD.TYPE.CPP
|
Type of bit-field is neither bool, nor signed/unsigned integer |
9-6-2 |
9.2 |
11.0 |
MISRA.BITS.NOT_UNSIGNED
|
Operand of bitwise operation is not unsigned integer |
5-0-21 |
9.1 |
9.2, 9.2 SR1, 9.5, 11.0 |
MISRA.BITS.NOT_UNSIGNED.PREP
|
Operand of bitwise operation is not unsigned integer |
5-0-21 |
11.1 |
|
MISRA.BITS.OPERAND
|
Operands of bitwise operation have different underlying types |
5-0-20 |
9.1 |
|
MISRA.BUILTIN_NUMERIC
|
Builtin numeric type is used |
3-9-2 |
9.1 |
9.2, 9.2 SR1, 9.5 |
MISRA.CAST.CONST
|
Cast operation removes const or volatile modifier from a pointer or reference |
5-2-5 |
9.1 |
9.2, 10.4 |
MISRA.CAST.FLOAT.WIDER
|
Cast of floating point expression to a wider floating point type |
5-0-8 |
9.1 |
9.6, 11.0 |
MISRA.CAST.FLOAT_INT
|
Cast of floating point expression to integral type |
5-0-7 |
9.1 |
9.6 |
MISRA.CAST.FUNC_PTR.CPP
|
Cast converts function pointer to other pointer type |
5-2-6 |
9.2 |
|
MISRA.CAST.INT.SIGN
|
Non-trivial integral expression is cast to type with different signedness |
5-0-9 |
9.1 |
9.2 |
MISRA.CAST.INT.WIDER
|
Cast of integral expression to a wider integral type |
5-0-8 |
9.6 |
11.0 |
MISRA.CAST.INT_FLOAT
|
Cast of integral expression to floating point type |
5-0-7 |
9.6 |
|
MISRA.CAST.INT_TO_PTR
|
Object with integer type or pointer to void cast to pointer type |
5-2-8 |
9.2 |
|
MISRA.CAST.POLY.TYPE
|
Cast from a polymorphic base class to a derived class |
5-2-3 |
9.2 |
|
MISRA.CAST.PTR.UNRELATED
|
Object of pointer type cast to unrelated type |
5-2-7 |
9.2 |
9.5 |
MISRA.CAST.PTR.VRCLASS
|
A cast form pointer to a virtual base class to pointer to a derived class does not use 'dynamic_cast' |
5-2-2 |
9.2 |
|
MISRA.CAST.PTR_TO_INT
|
Cast between a pointer and an integral type |
5-2-9 |
9.1 |
9.2 |
MISRA.CAST.UNSIGNED_BITS
|
The result of bitwise operation on unsigned char or short is not cast back to original type |
5-0-10 |
9.1 |
|
MISRA.CATCH.ALL
|
No ellipsis exception handler in a try-catch block |
15-3-2 |
9.2 |
|
MISRA.CATCH.BY_VALUE
|
Exception object of class type is caught by value |
15-3-5 |
9.1 |
9.5 |
MISRA.CATCH.NOALL
|
Ellipsis exception handler is not the last one in a try-catch block |
15-3-7 |
9.2 |
|
MISRA.CATCH.WRONGORD
|
Handler for a base exception class precedes to a handler for a derived exception class in a try-catch block |
15-3-6 |
9.2 |
|
MISRA.CHAR.DIGRAPH
|
Digraph usage |
2-5-1 |
9.1 |
|
MISRA.CHAR.NOT_CHARACTER
|
'char' is used for non-character value |
5-0-11 |
9.1 |
11.2 |
MISRA.CHAR.OPERAND
|
Expression of type 'char' or 'wchar_t' is used as non-character operand |
4-5-3 |
9.1 |
9.2 |
MISRA.CHAR.TRIGRAPH
|
Trigraph usage |
2-3-1 |
9.1 |
9.2 |
MISRA.COMMA
|
Comma operator is used |
5-18-1 |
9.1 |
|
MISRA.COMP.WRAPAROUND
|
Wrap-around in a condition |
5-19-1 |
9.2 |
9.5 |
MISRA.CONST.RET.NON_CONST
|
Constant member function returns non-const pointer to member variable |
9-3-1 |
9.1 |
9.2, 9.2 SR2 |
MISRA.CONTINUE.ILL
|
Continue statement is used in an ill-formed for loop |
6-6-3 |
9.2 |
|
MISRA.CONV.FLOAT
|
Implicit floating-point conversion |
5-0-5 |
9.1 |
11.0 |
MISRA.CONV.INT.SIGN
|
Implicit integral conversion changes signedness |
5-0-4 |
9.1 |
9.2, 9.2 SR2, 11.0 |
MISRA.CONV.NUM.NARROWER
|
Implicit numeric conversion to narrower type |
5-0-6 |
9.1 |
9.5, 11.0 |
MISRA.COPY.CSTR.TMPL
|
Class has a template constructor with a single generic parameter, but has no copy constructor defined |
14-5-2 |
9.2 |
11.0 |
MISRA.COPYASSIGN.ABSTRACT
|
Copy assignment should be declared protected or private in an abstract class |
12-8-2 |
9.2 |
|
MISRA.COPYASSIGN.TMPL
|
A copy ssignment operator should be defined when class has a template copy assignment operator with a single generic parameter |
14-5-3 |
9.2 |
|
MISRA.CT.UNIQUE.ID
|
Identifier clashes with type name |
2-10-4 |
9.1 |
9.2, 9.2 SR1 |
MISRA.CTOR.BASE
|
Constructor does not explicitly call constructor of its base class |
12-1-2 |
9.1 |
9.2, 9.5 |
MISRA.CTOR.DYNAMIC
|
Object's dynamic type is used from the body of its constructor |
12-1-1 |
9.2 |
|
MISRA.CTOR.NOT_EXPLICIT
|
Constructor with one argument of built-in type is not declared 'explicit' |
12-1-3 |
9.1 |
11.0 |
MISRA.CTOR.TRY.NON_STATIC
|
Function try/catch block of constructor or destructor references non-static members |
15-3-3 |
9.1 |
|
MISRA.CVALUE.IMPL.CAST.CPP
|
The value of an expression implicitly converted to a different type |
5-0-3 |
9.2 |
9.5, 11.0, 11.1 |
MISRA.C_CAST
|
C-style cast to non-void type |
5-2-4 |
9.1 |
9.2 |
MISRA.DECL.ARRAY_SIZE
|
Declaration of array with unknown size |
3-1-3 required |
9.1 |
|
MISRA.DECL.EXCPT.SPEC
|
Function is declared with different exception specifications |
15-4-1 |
9.1 |
9.2 |
MISRA.DECL.FUNC_LOCAL
|
Function is declared locally |
3-1-2 |
9.1 |
9.2 SR1 |
MISRA.DECL.MANY_DCLS
|
More than one declarator in one declaration |
8-0-1 |
9.1 |
|
MISRA.DEFINE.BADEXP.CPP
|
Inappropriate macro expansion in a C++ source |
16-2-2 |
9.1 |
9.5 |
MISRA.DEFINE.FUNC
|
Function-like macro definition |
16-0-4 |
9.1 |
|
MISRA.DEFINE.NOPARS
|
Macro parameter with no parentheses |
16-0-6 |
9.1 |
|
MISRA.DEFINE.NOTGLOBAL
|
Define not at the global level |
16-0-2 |
9.1 |
|
MISRA.DEFINE.SHARP
|
# or ## operator in a macro definition |
16-3-2 |
9.1 |
|
MISRA.DEFINE.SHARP.MANY
|
Several # or ## operators in a macro definition |
16-3-1 |
9.1 |
|
MISRA.DEFINE.WRONGNAME
|
Usage of a name from the standard library for naming a macro |
17-0-1 |
9.1 |
9.2 SR2, 9.5 |
MISRA.DEFINE.WRONGNAME.UNDERSCORE
|
Usage of a reserved name for naming a macro |
17-0-1 |
9.2 SR2 |
|
MISRA.DERIVE.VIRTUAL
|
Class is derived from virtual base |
10-1-1 |
9.1 |
9.2 |
MISRA.DTOR.DYNAMIC
|
Object's dynamic type is used from the body of its destructor |
12-1-1 |
9.2 |
|
MISRA.DTOR.THROW
|
Throw in destructor |
15-5-1 |
9.1 |
|
MISRA.ELIF.DEFINED
|
Incorrect 'defined' usage in #elif directive |
16-1-1 |
9.1 |
|
MISRA.ELIF.OTHERFILE
|
#elif in an improper file |
16-1-2 |
9.1 |
|
MISRA.ELIF.UNDEF
|
Undefined macros in #elif directive |
16-0-7 |
9.1 |
|
MISRA.ELIF.WRAPAROUND
|
Wrap-around in #elif directive |
5-19-1 |
9.1 |
|
MISRA.ELSE.OTHERFILE
|
#else in an improper file |
16-1-2 |
9.1 |
|
MISRA.ENDIF.OTHERFILE
|
#endif in an improper file |
16-1-2 |
9.1 |
|
MISRA.ENUM.INIT
|
Non-first enumerator is explicitly initialized, but not all elements are explicitly initialized. |
8-5-3 |
9.1 |
|
MISRA.ENUM.OPERAND
|
Expression of enum type is used in arithmetic context |
4-5-2 |
9.1 |
9.2 |
MISRA.EXPANSION.DIRECTIVE
|
Directive-like tokens within a macro argument |
16-0-5 |
9.1 |
|
MISRA.EXPANSION.UNSAFE
|
Unsafe macro usage |
17-0-5 18-0-1 18-2-1 18-7-1 19-3-1 |
9.1 |
9.5 |
MISRA.EXPR.COND.NOT_BOOLEAN
|
First operand of conditional expression is not a boolean expression |
5-0-14 |
9.1 |
|
MISRA.EXPR.PARENS.INSUFFICIENT
|
Limited dependence required for operator precedence rules in expressions |
5-0-2 |
10.1.2 |
|
MISRA.EXPR.PARENS.REDUNDANT
|
Limited dependence required for operator precedence rules in expressions |
5-0-2 |
10.1.2 |
11.2 |
MISRA.FIELD.BIT.ENUM
|
Bit-field has enum type. |
9-6-3 |
9.1 |
|
MISRA.FLOAT.BIT.REPR
|
Use of bit manipulations of floating-point values which rely on storage layout |
3-9-3 |
9.1 |
9.2 SR2, 11.0 |
MISRA.FLOAT_EQUAL
|
Floating point expression is tested for equality |
6-2-2 |
9.1 |
|
MISRA.FOR.COND.CHANGE
|
For loop counter is modified within the loop condition section |
6-5-3 |
9.1 |
9.2 |
MISRA.FOR.COND.EQ
|
++ or -- operations are not used to change loop counter, but condition tests loop counter for equality |
6-5-2 |
9.1 |
|
MISRA.FOR.COUNTER.FLT
|
For loop counter has a floating point type |
6-5-1 |
9.2 |
|
MISRA.FOR.COUNTER.MANY
|
Many counters in a for loop |
6-5-1 |
9.2 |
|
MISRA.FOR.INCR
|
For loop counter is modified in an inappropriate way |
6-5-4 |
9.1 |
|
MISRA.FOR.LOOP_CONTROL.CHANGE.COND
|
Loop control variable is modified in condition section of a for loop |
6-5-5 |
9.2 |
|
MISRA.FOR.LOOP_CONTROL.CHANGE.EXPR
|
Loop control variable is modified in expression section of a for loop |
6-5-5 |
9.2 |
|
MISRA.FOR.LOOP_CONTROL.NOT_BOOLEAN
|
Loop control variable is not boolean |
6-5-6 |
9.1 |
|
MISRA.FOR.STMT.CHANGE
|
For loop counter is modified within the loop statement |
6-5-3 |
9.2 |
|
MISRA.FUNC.ADDR
|
Address of a function is used without & operator |
8-4-4 |
9.1 |
9.2 SR1 |
MISRA.FUNC.ARRAY.PARAMS
|
Function argument with array type decay to a pointer |
5-2-12 |
9.1 |
|
MISRA.FUNC.DECL.AFTERUSE
|
Function chosen by overload resolution when instantiating a template is declared after its usage |
14-6-2 |
9.2 |
|
MISRA.FUNC.PARAMS.IDENT
|
Identifiers used in declaration and definition of function are no identical |
8-4-2 |
9.2 |
|
MISRA.FUNC.RECUR
|
Recursive function |
7-5-4 |
9.1 |
9.2, 9.2 SR1 |
MISRA.FUNC.SPEC.NOTSPEC
|
Viable function set for a function call contains both specializations and non-specializations |
14-8-2 |
9.2 |
|
MISRA.FUNC.SPEC.OVRLD
|
Viable function set for a function call contains an overloaded template and its explicit specialization |
14-8-1 |
9.2 |
|
MISRA.FUNC.STATIC.REDECL
|
Function or object redeclaration does not include 'static' modifier |
3-3-2 |
9.2 |
|
MISRA.FUNC.UNUSEDPAR
|
Formal parameter of a non-virtual function is not used |
0-1-11 |
9.2 |
9.2 SR2, 2017 |
MISRA.FUNC.UNUSEDPAR.UNNAMED
|
Unnamed formal parameter of a non-virtual function is not used |
0-1-11 |
9.2 |
9.2 SR1 |
MISRA.FUNC.UNUSEDRET
|
Return value of a non-void function is not used |
0-1-7 |
9.2 |
|
MISRA.FUNC.VARARG
|
Function with variable number of arguments |
8-4-1 |
9.1 |
|
MISRA.FUNC.VIRTUAL.UNUSEDPAR
|
Formal parameter of a virtual function set is not used |
0-1-12 |
9.2 |
9.2 SR1 |
MISRA.FUNC_CAST
|
Functional notation cast different from explicit constructor call |
5-2-4 |
9.2 |
|
MISRA.GENFU.ASSOC
|
Generic function is declared in an associated namespace |
14-5-1 |
9.2 |
|
MISRA.GOTO.AFTER.LABEL
|
Unconstrained use of goto |
6-6-2 |
9.1 |
|
MISRA.GOTO.NESTED
|
Goto to a label declared in a nested compound statement |
6-6-1 |
9.1 |
9.2 |
MISRA.IF.DEFINED
|
Incorrect 'defined' usage in #if directive |
16-1-1 |
9.1 |
|
MISRA.IF.NO_COMPOUND
|
The body of if/else statement is not a compound statement |
6-4-1 |
9.1 |
|
MISRA.IF.NO_ELSE
|
A chain of if/else-if statements is not terminated with else or is terminated with an empty else clause |
6-4-2 |
9.1 |
10.4 |
MISRA.IF.UNDEF
|
Undefined macros in #if directive |
16-0-7 |
9.1 |
|
MISRA.IF.WRAPAROUND
|
Wrap-around in #if directive |
5-19-1 |
9.1 |
|
MISRA.INCGUARD
|
Include guard is not provided |
16-2-3 |
9.1 |
|
MISRA.INCL.BAD
|
Non-standard include directive |
16-2-6 |
9.1 |
9.2, 11.1 |
MISRA.INCL.INSIDE
|
Include directive preceded by a preprocessor output token |
16-0-1 |
9.1 |
|
MISRA.INCL.SYMS
|
Non-standard characters in header file names |
16-2-4 16-2-5 |
9.1 |
|
MISRA.INCL.UNSAFE
|
Unsafe header inclusion |
18-0-2 18-0-4 18-7-1 27-0-1 |
9.1 |
|
MISRA.INCR_DECR.OTHER
|
Increment or decrement operator is mixed with other operators in expression |
5-2-10 |
9.1 |
9.2 |
MISRA.INIT.BRACES
|
Incorrect initializer braces placement. |
8-5-2 |
9.1 |
|
MISRA.ITER.ONETERM
|
Iteration statement has more than one break or goto for loop termination. |
6-6-4 |
9.1 |
|
MISRA.LINKAGE.EXTERN
|
Object or function declaration with external linkage not in header file |
3-3-1 |
9.1 |
9.2 |
MISRA.LITERAL.NULL.INT
|
NULL used as an integer value. |
4-10-1 |
9.1 |
11.1 |
MISRA.LITERAL.NULL.PTR
|
Literal zero used as the null-pointer-constant. |
4-10-2 |
9.1 |
11.1 |
MISRA.LITERAL.SUFFIX.CASE
|
Literal suffix in lower case. |
2-13-4 |
9.1 |
9.2 SR1, 9.5 |
MISRA.LITERAL.UNSIGNED.SUFFIX
|
Unsigned integer literal without 'U' suffix |
2-13-3 |
9.1 |
9.5 |
MISRA.LOGIC.NOT_BOOL
|
Operand of logical operation is not boolean |
5-3-1 |
9.1 |
9.2 SR1, 9.5 |
MISRA.LOGIC.OPERATOR.NOT_BOOL
|
Operand of non-logical operator is effectively boolean |
4-5-1 |
9.1 (for C), 9.2 SR1 (for C++) |
11.2 |
MISRA.LOGIC.POSTFIX
|
Operand in a logical 'and' or 'or' expression is not a postfix expression |
5-2-1 |
9.2 |
9.2 SR1, 9.2 SR2, 9.5 |
MISRA.LOGIC.SIDEEFF
|
Right operand in a logical 'and' or 'or' expression contains side effects |
5-14-1 |
9.2 |
10.4 |
MISRA.MEMB.NON_CONST
|
Non-const member function does not change any member variables |
9-3-3 |
9.1 |
9.2, 9.2 SR1, 9.2 SR2, 9.5 |
MISRA.MEMB.NON_STATIC
|
Non-static member function does not use other non-static members of the same class |
9-3-3 |
9.1 |
9.2, 9.2 SR1, 9.5 |
MISRA.MEMB.NOT_PRIVATE
|
Member variable in non-POD class is not private |
11-0-1 |
9.1 |
|
MISRA.NAMESPACE.DECL
|
Using-declaration in header file |
7-3-6 |
9.1 |
|
MISRA.NAMESPACE.DIR
|
Using-directive in header file |
7-3-6 |
9.1 |
|
MISRA.NAMESPACE.UNMD
|
Unnamed namespace in header file |
7-3-3 |
9.1 |
|
MISRA.NS.GLOBAL
|
Function, variable or type declaration in global namespace |
7-3-1 |
9.1 |
|
MISRA.NS.GLOBAL.USING
|
Using directive or declaration in global namespace |
7-3-1 |
10.1 |
|
MISRA.NS.MAIN
|
Non-global function with name 'main' is defined |
7-3-2 |
9.1 |
9.2 |
MISRA.NS.USING.HEADER
|
Using directive or declaration is used in a header file |
7-3-6 |
9.1 |
|
MISRA.NS.USING_DECL
|
Multiple declarations for an identifier in the same namespace should not straddle a using-declaration for that identifier |
7-3-5 |
9.2 |
|
MISRA.NS.USING_DIR
|
Using directive |
7-3-4 |
9.1 |
9.2 |
MISRA.NULL.STMT
|
Null statement is not the only statement on line or comments are placed incorrectly |
6-2-3 |
9.1 |
9.2 |
MISRA.OBJ.TYPE.COMPAT
|
Type not compatible with type of other declaration |
3-2-1 |
9.1 |
11.0 |
MISRA.OBJ.TYPE.IDENT
|
Type not identical with type of other declaration |
3-9-1 |
9.1 |
9.2 |
MISRA.ONEDEFRULE.FUNC
|
Global function definition in a header file |
3-1-1 |
9.1 |
|
MISRA.ONEDEFRULE.VAR
|
Global variable definition in a header file |
3-1-1 |
9.1 |
|
MISRA.PPARAM.NEEDS.CONST
|
Pointer parameter is not used to modify the addressed object but is not declared as a pointer to const |
7-1-2 |
9.1 |
9.2 SR1, 9.5, 10.4 |
MISRA.PRAGMA
|
Non-documented pragma directive |
16-6-1 |
9.1 |
|
MISRA.PRAGMA.ASM
|
Incorrect assembler instruction |
7-4-2 |
9.1 |
|
MISRA.PTR.ARITH
|
Pointer is used in arithmetic or array index expression |
5-0-15 |
9.1 |
|
MISRA.PTR.TO_PTR_TO_PTR
|
Pointer declaration has more than two levels of indirection |
5-0-19 |
9.1 |
9.2 |
MISRA.PUREVIRT.OVRD
|
Pure virtual function overrides a non pure virtual function |
10-3-3 |
9.2 |
|
MISRA.RET.REF.NON_CONST
|
Member function returns non-const handle to member variable |
9-3-2 |
9.1 |
9.2 |
MISRA.RETURN.NOT_LAST
|
Return is not the last statement in a function |
6-6-5 |
9.1 |
9.2 SR2, 9.5 |
MISRA.SAME.DEFPARAMS
|
Overriding virtual function and the function it overrides have different default arguments |
8-3-1 |
9.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 |
5-8-1 |
9.1 |
9.2 |
MISRA.SIGNED_CHAR.NOT_NUMERIC
|
'signed char' or 'unsigned char' is used for non-numeric value |
5-0-12 |
9.1 |
9.2 |
MISRA.SIZEOF.SIDE_EFFECT
|
Operand of sizeof has side effects |
5-3-4 |
9.1 |
|
MISRA.SPEC.ILL
|
Explicit instantiation of a template makes the code ill-formed |
14-7-2 |
9.2 |
|
MISRA.SPEC.SAMEFILE
|
Template specialization and its primary template are declared in different files |
14-7-3 |
9.2 |
11.0 |
MISRA.STDLIB.ABORT
|
Use of 'abort', 'exit', 'getenv' or 'system' from library stdlib.h |
18-0-3 |
9.1 |
|
MISRA.STDLIB.ATOI
|
Use of 'atof', 'atoi' or 'atol' from library stdlib.h |
18-0-2 |
9.1 |
|
MISRA.STDLIB.CSTRING
|
Function from 'cstring' library is used |
18-0-5 |
9.2 |
|
MISRA.STDLIB.CSTRING.MACRO
|
Macro from 'cstring' library is used |
18-0-5 |
9.2 |
|
MISRA.STDLIB.ERRNO
|
Use of error indicator 'errno' |
19-3-1 |
9.1 |
|
MISRA.STDLIB.LONGJMP
|
Use of setjmp macro or longjmp function |
17-0-5 |
9.1 |
|
MISRA.STDLIB.MEMORY
|
Use of dynamic heap memory allocation |
18-4-1 |
9.1 |
|
MISRA.STDLIB.SIGNAL
|
Use of the signal handling facilities of signal.h |
18-7-1 |
9.1 |
|
MISRA.STDLIB.STDIO
|
Use of input/output library stdio.h in production code |
27-0-1 |
9.1 |
|
MISRA.STDLIB.TIME
|
Use of the time handling functions of library time.h |
18-0-4 |
9.1 |
|
MISRA.STDLIB.WRONGNAME
|
Reused name of standard library macro, object or function |
17-0-3 |
9.1 |
9.2 SR2 |
MISRA.STDLIB.WRONGNAME.UNDERSCORE
|
Usage of a reserved name for naming a language entity |
17-0-3 |
9.2 SR2 |
|
MISRA.STMT.COND.NOT_BOOLEAN
|
Condition of if or loop statement is not a boolean expression |
5-0-13 |
9.1 |
9.5 |
MISRA.STMT.NO_COMPOUND
|
The body of switch, while, do/while or for statement is not a compound statement |
6-3-1 |
9.1 |
|
MISRA.STRINGS.CONCAT
|
Narrow and wide string literals concatenated |
2-13-5 |
9.1 |
|
MISRA.SWITCH.BOOL
|
Condition of switch statement is boolean expression |
6-4-7 |
9.1 |
|
MISRA.SWITCH.LABEL
|
A switch label belongs to nested compound statement inside switch body |
6-4-4 |
9.1 |
|
MISRA.SWITCH.NODEFAULT
|
No default clause at the end of a switch statement |
6-4-6 |
9.2 |
9.2 SR1 |
MISRA.SWITCH.NOT_WELL_FORMED
|
Switch statement is not well-formed |
6-4-3 |
9.1 |
9.2 |
MISRA.SWITCH.NO_BREAK
|
No break or throw statement at the end of switch-clause |
6-4-5 |
9.1 |
9.2 |
MISRA.SWITCH.NO_CASE
|
No case-clause in a switch statement |
6-4-8 |
9.1 |
9.2 |
MISRA.TEMPLMEM.NOQUAL
|
In an instantiated template a member declared in a dependant base is used without a qualificator or 'this' |
14-6-1 |
9.2 |
|
MISRA.TERMINATE
|
terminate() function is called explicitly |
15-5-3 |
9.1 |
|
MISRA.THROW.EMPTY
|
Empty throw expression does not belong to a catch block |
15-1-3 |
9.1 |
|
MISRA.THROW.NULL
|
NULL is thrown explicitly |
15-1-2 |
9.1 |
|
MISRA.THROW.PTR
|
Exception object is a pointer |
15-0-2 |
9.1 |
|
MISRA.TOKEN.BADCOM
|
Inappropriate character sequence in a comment |
2-7-1 |
9.1 |
|
MISRA.TOKEN.OCTAL.ESCAPE
|
Usage of octal escape sequences |
2-13-2 |
9.1 |
|
MISRA.TOKEN.OCTAL.INT
|
Usage of octal integer constants |
2-13-2 |
9.1 |
|
MISRA.TOKEN.WRONGESC
|
Incorrect escape sequence in a literal |
2-13-1 |
9.1 |
|
MISRA.TRY.JUMP
|
Control can be transferred into a try block with goto or switch statement |
15-0-3 |
9.1 |
10.1 SR1 |
MISRA.TYPE.NAMECLASH
|
Identifier in one name space has same spelling as identifier in other name space |
2-10-6 |
9.1 |
9.2, 9.2 SR2, 9.5 |
MISRA.TYPEDEF.NOT_UNIQUE
|
Typedef name is used for another entity |
2-10-3 |
9.1 |
9.2, 9.5 |
MISRA.UMINUS.UNSIGNED
|
Operand of unary minus is unsigned |
5-3-2 |
9.1 |
|
MISRA.UNDEF
|
Undef usage |
16-0-3 |
9.1 |
|
MISRA.UNDEF.NOTGLOBAL
|
Undef not at the global level |
16-0-2 |
9.1 |
|
MISRA.UNDEF.WRONGNAME
|
Undefinition of a name from the standard library |
17-0-2 |
9.1 |
9.5 |
MISRA.UNDEF.WRONGNAME.UNDERSCORE
|
Undefinition of a reserved name |
17-0-2 |
9.2 SR2 |
|
MISRA.UNION
|
Union is used |
9-5-1 |
9.1 |
|
MISRA.UN_OP.OVERLOAD
|
Unary & operator is overloaded |
5-3-3 |
9.1 |
11.0 |
MISRA.USE.DEFINE
|
Non-guarding macro definition |
16-2-1 |
9.1 |
|
MISRA.USE.EXPANSION
|
Macro expansion |
16-2-1 |
9.1 |
|
MISRA.USE.UNKNOWNDIR
|
Unknown preprocessor directive is used |
16-0-8 |
9.1 |
11.3 |
MISRA.USE.WRONGDIR
|
Improper preprocessor directive |
16-2-1 |
9.1 |
|
MISRA.VAR.HIDDEN
|
Identifier declared in an inner scope hides identifier in outer scope |
2-10-2 |
9.2 |
9.2 SR1, 9.5, 10.1 |
MISRA.VAR.MIN.VIS
|
Name visibility is too wide |
3-4-1 |
9.1 |
9.2 SR2, 10.1 |
MISRA.VAR.NEEDS.CONST
|
Variable is not modified but is declared without const qualifier |
7-1-1 |
9.1 |
9.2 SR1, 9.2 SR2, 11.3 |
MISRA.VAR.UNIQUE.STATIC
|
Identifier with static storage specifier clashes with other identifier |
2-10-5 |
9.2 |
|
MISRA.VIRTUAL.BASE.DIAMOND
|
Base class is used as virtual not in diamond hierarchy |
10-1-2 |
9.2 |
|
MISRA.VIRTUAL.NOVIRTUAL
|
Overriding virtual function declared with no 'virtual' keyword |
10-3-2 |
9.2 |
9.5 |
PORTING.VAR.EFFECTS
|
Variable used twice in one expression where one usage is subject to side-effects |
5-0-1 |
9.2 |
9.5 |
UNINIT.CTOR.MIGHT
|
Uninitialized Variable in Constructor - possible |
8-5-1 |
Pre-9.2 |
9.2, 9.5 |
UNINIT.CTOR.MUST
|
Uninitialized Variable in Constructor |
8-5-1 |
Pre-9.2 |
9.2, 9.5 |
UNINIT.HEAP.MIGHT
|
Uninitialized Heap Use - possible |
8-5-1 |
Pre-9.2 |
9.2, 9.5 |
UNINIT.HEAP.MUST
|
Uninitialized Heap Use |
8-5-1 |
Pre-9.2 |
9.2, 9.5 |
UNINIT.STACK.ARRAY.MIGHT
|
Uninitialized Array - possible |
8-5-1 |
Pre-9.2 |
9.2, 9.5 |
UNINIT.STACK.ARRAY.MUST
|
Uninitialized Array |
8-5-1 |
Pre-9.2 |
9.2, 9.5 |
UNINIT.STACK.ARRAY.PARTIAL.MUST
|
Partialy Uninitialized Array |
8-5-1 |
Pre-9.2 |
9.2, 9.5 |
UNINIT.STACK.MIGHT
|
Uninitialized Variable - possible |
8-5-1 |
Pre-9.2 |
9.2, 9.5 |
UNINIT.STACK.MUST
|
Uninitialized Variable |
8-5-1 |
Pre-9.2 |
9.2, 9.5, 11.2 |
UNREACH.GEN
|
Unreachable code |
0-1-1 |
Pre-9.2 |
9.2, 9.5, 10.1, 10.3, 10.4, 11.2 |
UNREACH.RETURN
|
Unreachable Void Return |
0-1-1 |
Pre-9.2 |
9.2, 9.5, 11.2 |
UNUSED.FUNC.GEN
|
Function defined but not used |
0-1-10 |
10.1 |
11.3 |
VA_UNUSED.GEN
|
Value is Never Used after Assignment |
0-1-9 |
Pre-9.2 |
9.5 |
VA_UNUSED.INIT
|
Value is Never Used after Initialization |
0-1-9 |
Pre-9.2 |
9.5, 11.2 |