MISRA C++:2008 rules mapped to Klocwork certified checkers

Rule Category Checker name and description
0-1-12 Required

MISRA.FUNC.VIRTUAL.UNUSEDPAR   Formal parameter of a virtual function set is not used

0-1-11 Required

MISRA.FUNC.UNUSEDPAR   Formal parameter of a non-virtual function is not used

MISRA.FUNC.UNUSEDPAR.UNNAMED   Unnamed formal parameter of a non-virtual function is not used

0-1-10 Required

UNUSED.FUNC.GEN   Function defined but not used

0-1-9 Required

VA_UNUSED.GEN   Value is Never Used after Assignment

VA_UNUSED.INIT   Value is Never Used after Initialization

0-1-8 Required

0-1-7 Required

MISRA.FUNC.UNUSEDRET   Return value of a non-void function is not used

0-1-6 Required

0-1-5 Required

0-1-4 Required

0-1-3 Required

LV_UNUSED.GEN   Local variable unused

0-1-2 Required

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

0-1-1 Required

UNREACH.ENUM   Code is unreachable due to the possible value(s) of an enum

UNREACH.GEN   Unreachable code

UNREACH.RETURN   Unreachable Void Return

0-2-1 Required

MISRA.ASSIGN.OVERLAP   Object is assigned to an overlapping object

0-3-2 Required

1-0-1 Required

2-3-1 Required

MISRA.CHAR.TRIGRAPH   Trigraph usage

2-5-1 Advisory

MISRA.CHAR.DIGRAPH   Digraph usage

2-7-3 Advisory

2-7-2 Required

2-7-1 Required

MISRA.TOKEN.BADCOM   Inappropriate character sequence in a comment

2-10-6 Required

MISRA.TYPE.NAMECLASH.CPP.2008   Identifier in one name space has same spelling as identifier in other name space

2-10-5 Advisory

MISRA.VAR.UNIQUE.STATIC   Identifier with static storage specifier clashes with other identifier

2-10-4 Required

MISRA.CT.UNIQUE.ID   Identifier clashes with tag name

2-10-3 Required

MISRA.TYPEDEF.NOT_UNIQUE   Typedef name is used for another entity

2-10-2 Required

MISRA.VAR.HIDDEN   Identifier declared in an inner scope hides identifier in outer scope

2-10-1 Required

2-13-5 Required

MISRA.STRINGS.CONCAT   Narrow and wide string literals concatenated

2-13-4 Required

MISRA.LITERAL.SUFFIX.CASE   Literal suffix in lower case.

2-13-3 Required

MISRA.LITERAL.UNSIGNED.SUFFIX   Unsigned integer literal without 'U' suffix

2-13-2 Required

MISRA.TOKEN.OCTAL.ESCAPE   Usage of octal escape sequences

MISRA.TOKEN.OCTAL.INT   Usage of octal integer constants

2-13-1 Required

MISRA.TOKEN.WRONGESC   Incorrect escape sequence in a literal

3-1-3 Required

MISRA.DECL.ARRAY_SIZE   Declaration of array with unknown size

3-1-2 Required

MISRA.DECL.FUNC_LOCAL   Function is declared locally

3-1-1 Required

MISRA.ONEDEFRULE.FUNC   Global function definition in a header file

MISRA.ONEDEFRULE.VAR   Global variable definition in a header file

3-2-4 Required

3-2-3 Required

3-2-2 Required

3-2-1 Required

MISRA.OBJ.TYPE.COMPAT   Type not compatible with type of other declaration

3-3-2 Required

MISRA.FUNC.STATIC.REDECL   Function or object redeclaration does not include 'static' modifier

3-3-1 Required

MISRA.LINKAGE.EXTERN   Object or function declaration with external linkage not in header file

3-4-1 Required

MISRA.VAR.MIN.VIS   Name visibility is too wide

3-9-3 Required

MISRA.FLOAT.BIT.REPR   Use of bit manipulations of floating-point values which rely on storage layout

3-9-2 Advisory

MISRA.BUILTIN_NUMERIC   Builtin numeric type is used

3-9-1 Required

MISRA.OBJ.TYPE.IDENT   Type not identical with type of other declaration

4-5-3 Required

MISRA.CHAR.OPERAND   Expression of type 'char' or 'wchar_t' is used as non-character operand

4-5-2 Required

MISRA.ENUM.OPERAND   Expression of enum type is used in arithmetic context

4-5-1 Required

MISRA.LOGIC.OPERATOR.NOT_BOOL   Operand of non-logical operator is effectively boolean

4-10-2 Required

MISRA.LITERAL.NULL.PTR   Literal zero used as the null-pointer-constant.

4-10-1 Required

MISRA.LITERAL.NULL.INT   NULL used as an integer value.

5-0-21 Required

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

5-0-20 Required

MISRA.BITS.OPERAND   Operands of bitwise operation have different underlying types

5-0-19 Required

MISRA.PTR.TO_PTR_TO_PTR   Pointer declaration has more than two levels of indirection

5-0-18 Required

MISRA.PTR.CMP.2008   Pointer comparison using comparison operators shall only be applied if pointing to same array and within the range

MISRA.PTR.CMP.OBJECT.2008   Pointer comparison using comparison operators shall only be applied if pointing to same object and within the range

5-0-17 Required

MISRA.PTR.SUB   Pointer subtraction shall only be applied if pointing to same array

MISRA.PTR.SUB.OBJECT   Pointer subtraction shall only be applied if pointing to same object

5-0-16 Required

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

5-0-15 Required

MISRA.PTR.ARITH   Pointer is used in arithmetic or array index expression

5-0-14 Required

MISRA.EXPR.COND.NOT_BOOLEAN   First operand of conditional expression is not a boolean expression

5-0-13 Required

MISRA.STMT.COND.NOT_BOOLEAN   Condition of if or loop statement is not a boolean expression

5-0-12 Required

MISRA.SIGNED_CHAR.NOT_NUMERIC   'signed char' or 'unsigned char' is used for non-numeric value

5-0-11 Required

MISRA.CHAR.NOT_CHARACTER   'char' is used for non-character value

5-0-10 Required

MISRA.CAST.UNSIGNED_BITS   The result of bitwise operation on unsigned char or short is not cast back to original type

5-0-9 Required

MISRA.CAST.INT.SIGN   Non-trivial integral expression is cast to type with different signedness

5-0-8 Required

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

5-0-7 Required

MISRA.CAST.FLOAT_INT   Cast of floating point expression to integral type

MISRA.CAST.INT_FLOAT   Cast of integral expression to floating point type

5-0-6 Required

MISRA.CONV.NUM.NARROWER   Implicit numeric conversion to narrower type

5-0-5 Required

MISRA.CONV.FLOAT   Implicit floating-point conversion

5-0-4 Required

MISRA.CONV.INT.SIGN   Implicit integral conversion changes signedness

5-0-3 Required

MISRA.CVALUE.IMPL.CAST.CPP   The value of an expression implicitly converted to a different type

5-0-2 Advisory

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

5-0-1 Required

PORTING.VAR.EFFECTS   Variable used twice in one expression where one usage is subject to side-effects

5-2-12 Required

MISRA.FUNC.ARRAY.PARAMS   Function argument with array type decay to a pointer

5-2-11 Required

MISRA.BIN_OP.OVERLOAD   Comma, || or && operator overloaded

5-2-10 Required

MISRA.INCR_DECR.OTHER   Increment or decrement operator is mixed with other operators in expression

5-2-9 Required

MISRA.CAST.PTR_TO_INT   Cast between a pointer and an integral type

5-2-8 Required

MISRA.CAST.INT_TO_PTR   Object with integer type or pointer to void cast to pointer type

5-2-7 Advisory

MISRA.CAST.PTR.UNRELATED   Object of pointer type cast to unrelated type

5-2-6 Required

MISRA.CAST.FUNC_PTR.CPP   Cast converts function pointer to other pointer type

5-2-5 Required

MISRA.CAST.CONST   Cast operation removes const or volatile modifier from a pointer or reference

5-2-4 Required

MISRA.C_CAST   C-style cast to non-void type

MISRA.FUNC_CAST   Functional notation cast different from explicit constructor call

5-2-3 Advisory

MISRA.CAST.POLY.TYPE   Cast from a polymorphic base class to a derived class

5-2-2 Required

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

MISRA.LOGIC.POSTFIX   Operand in a logical 'and' or 'or' expression is not a postfix expression

5-3-4 Required

MISRA.SIZEOF.SIDE_EFFECT   Operand of sizeof has side effects

5-3-3 Required

MISRA.UN_OP.OVERLOAD   Unary & operator is overloaded

5-3-2 Required

MISRA.UMINUS.UNSIGNED   Operand of unary minus is unsigned

5-3-1 Advisory

MISRA.LOGIC.NOT_BOOL   Operand of logical operation is not boolean

5-8-1 Required

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-14-1 Required

MISRA.LOGIC.SIDEEFF   Right operand in a logical 'and' or 'or' expression contains side effects

5-17-1 Required

5-18-1 Required

MISRA.COMMA   Comma operator is used

5-19-1 Advisory

MISRA.COMP.WRAPAROUND   Wrap-around in a condition

MISRA.ELIF.WRAPAROUND   Wrap-around in #elif directive

MISRA.IF.WRAPAROUND   Wrap-around in #if directive

NUM.OVERFLOW.DF   Possible numeric overflow or wraparound

6-2-3 Required

MISRA.NULL.STMT   Null statement is not the only statement on line or comments are placed incorrectly

6-2-2 Required

MISRA.FLOAT_EQUAL   Floating point expression is tested for equality

6-2-1 Required

MISRA.ASSIGN.COND   Assignment operator is used in a condition

MISRA.ASSIGN.SUBEXPR   Assignment operator is used in a sub-expression outside a condition

6-3-1 Required

MISRA.STMT.NO_COMPOUND   The body of switch, while, do/while or for statement is not a compound statement

6-4-8 Required

MISRA.SWITCH.NO_CASE   No case-clause in a switch statement

6-4-7 Required

MISRA.SWITCH.BOOL   Condition of switch statement is boolean expression

6-4-6 Required

MISRA.SWITCH.NODEFAULT   No default clause at the end of a switch statement

6-4-5 Required

MISRA.SWITCH.NO_BREAK   No break or throw statement at the end of switch-clause

6-4-4 Required

MISRA.SWITCH.LABEL   A switch label belongs to nested compound statement inside switch body

6-4-3 Required

MISRA.SWITCH.NOT_WELL_FORMED   Switch statement is not well-formed

6-4-2 Required

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

MISRA.IF.NO_COMPOUND   The body of if/else statement is not a compound statement

6-5-6 Required

MISRA.FOR.LOOP_CONTROL.NOT_BOOLEAN   Loop control variable is not boolean

6-5-5 Required

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

6-5-4 Required

MISRA.FOR.INCR   For loop counter is modified in an inappropriate way

6-5-3 Required

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

6-5-2 Required

MISRA.FOR.COND.EQ   ++ or -- operations are not used to change loop counter, but condition tests loop counter for equality

6-5-1 Required

MISRA.FOR.COUNTER.FLT   For loop counter has a floating point type

MISRA.FOR.COUNTER.MANY   Many counters in a for loop

6-6-5 Required

MISRA.RETURN.NOT_LAST   Return is not the last statement in a function

6-6-4 Required

MISRA.ITER.ONETERM   Iteration statement has more than one break or goto for loop termination.

6-6-3 Required

MISRA.CONTINUE.ILL   Continue statement is used in an ill-formed for loop

6-6-2 Required

MISRA.GOTO.AFTER.LABEL   Unconstrained use of goto

6-6-1 Required

MISRA.GOTO.NESTED   Goto to a label declared in a nested compound statement

7-1-2 Required

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

MISRA.VAR.NEEDS.CONST   Variable is not modified but is declared without const qualifier

7-2-1 Required

7-3-6 Required

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

7-3-5 Required

MISRA.NS.USING_DECL   Multiple declarations for an identifier in the same namespace should not straddle a using-declaration for that identifier

7-3-4 Required

MISRA.NS.USING_DIR   Using directive

7-3-3 Required

MISRA.NAMESPACE.UNMD   Unnamed namespace in header file

7-3-2 Required

MISRA.NS.MAIN   Non-global function with name 'main' is defined

7-3-1 Required

MISRA.NS.GLOBAL   Function, variable or type declaration in global namespace

MISRA.NS.GLOBAL.USING   Using directive or declaration in global namespace

7-4-3 Required

MISRA.ASM.ENCAPS   Assembly language is not isolated.

7-4-2 Required

MISRA.PRAGMA.ASM   Incorrect assembler instruction

7-5-4 Advisory

MISRA.FUNC.RECUR   Recursive function

7-5-3 Required

MISRA.ADDR.REF.PARAM   Function returns reference to parameter passed by reference

MISRA.ADDR.REF.PARAM.PTR   Function returns address of parameter passed by reference

7-5-2 Required

LOCRET.ARG   Function returns address of local variable

LOCRET.GLOB   Function returns address of local variable

7-5-1 Required

LOCRET.RET   Function returns address of local variable

8-0-1 Required

MISRA.DECL.MANY_DCLS   More than one declarator in one declaration

8-3-1 Required

MISRA.SAME.DEFPARAMS   Overriding virtual function and the function it overrides have different default arguments

8-4-4 Required

MISRA.FUNC.ADDR   Address of a function is used without & operator

8-4-3 Required

FUNCRET.GEN   Non-void function does not return value

8-4-2 Required

MISRA.FUNC.PARAMS.IDENT   Identifiers used in declaration and definition of function are not identical

8-4-1 Required

MISRA.FUNC.VARARG   Function with variable number of arguments

8-5-3 Required

MISRA.ENUM.INIT   Non-first enumerator is explicitly initialized, but not all elements are explicitly initialized.

8-5-2 Required

MISRA.INIT.BRACES   Incorrect initializer braces placement.

8-5-1 Required

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

9-3-3 Required

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

9-3-2 Required

MISRA.RET.REF.NON_CONST   Member function returns non-const handle to member variable

9-3-1 Required

MISRA.CONST.RET.NON_CONST   Constant member function returns non-const pointer to member variable

9-5-1 Required

MISRA.UNION   Union is used

9-6-4 Required

MISRA.BITFIELD.SIGNED   Length of a named signed bit-field is less than 2

9-6-3 Required

MISRA.FIELD.BIT.ENUM   Bit-field has enum type.

9-6-2 Required

MISRA.BITFIELD.TYPE.CPP   Type of bit-field is neither bool, nor signed/unsigned integer

10-1-3 Required

MISRA.BASE.VIRTUAL.NOTVIRTUAL   Base class is used as both virtual and not virtual in inheritance hierarchy

10-1-2 Required

MISRA.VIRTUAL.BASE.DIAMOND   Base class is used as virtual not in diamond hierarchy

10-1-1 Advisory

MISRA.DERIVE.VIRTUAL   Class is derived from virtual base

10-2-1 Advisory

MISRA.BASE.IDS.UNIQUE   Member name is used twice in inheritance hierarchy

10-3-3 Required

MISRA.PUREVIRT.OVRD   Pure virtual function overrides a non pure virtual function

10-3-2 Required

MISRA.VIRTUAL.NOVIRTUAL   Overriding virtual function declared with no 'virtual' keyword

10-3-1 Required

MISRA.BASE.MANYDEFS   Both overriding and overridden virtual functions have definitions

11-0-1 Required

MISRA.MEMB.NOT_PRIVATE   Member variable in non-POD class is not private

12-1-3 Required

MISRA.CTOR.NOT_EXPLICIT   Constructor with one argument of built-in type is not declared 'explicit'

12-1-2 Advisory

MISRA.CTOR.BASE   Constructor does not explicitly call constructor of its base class

12-1-1 Required

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

12-8-2 Required

MISRA.COPYASSIGN.ABSTRACT   Copy assignment should be declared protected or private in an abstract class

12-8-1 Required

14-5-3 Required

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-2 Required

MISRA.COPY.CSTR.TMPL   Class has a template constructor with a single generic parameter, but has no copy constructor defined

14-5-1 Required

MISRA.GENFU.ASSOC   Generic function is declared in an associated namespace

14-6-2 Required

MISRA.FUNC.DECL.AFTERUSE   Function chosen by overload resolution when instantiating a template is declared after its usage

14-6-1 Required

MISRA.TEMPLMEM.NOQUAL   In an instantiated template a member declared in a dependant base is used without a qualificator or 'this'

14-7-3 Required

MISRA.SPEC.SAMEFILE   Template specialization and its primary template are declared in different files

14-7-2 Required

MISRA.SPEC.ILL   Explicit instantiation of a template makes the code ill-formed

14-7-1 Required

14-8-2 Advisory

MISRA.FUNC.SPEC.NOTSPEC   Viable function set for a function call contains both specializations and non-specializations

14-8-1 Required

MISRA.FUNC.SPEC.OVRLD   Viable function set for a function call contains an overloaded template and its explicit specialization

15-0-3 Required

MISRA.TRY.JUMP   Control can be transferred into a try block with goto or switch statement

15-0-2 Advisory

MISRA.THROW.PTR   Exception object is a pointer

15-1-3 Required

MISRA.THROW.EMPTY   Empty throw expression does not belong to a catch block

15-1-2 Advisory

MISRA.THROW.NULL   NULL is thrown explicitly

15-1-1 Advisory

15-3-7 Required

MISRA.CATCH.NOALL   Ellipsis exception handler is not the last one in a try-catch block

15-3-6 Required

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-5 Required

MISRA.CATCH.BY_VALUE   Exception object of class type is caught by value

15-3-4 Advisory

15-3-3 Required

MISRA.CTOR.TRY.NON_STATIC   Function try/catch block of constructor or destructor references non-static members

15-3-2 Advisory

MISRA.CATCH.ALL   No ellipsis exception handler in a try-catch block

15-3-1 Advisory

15-4-1 Required

MISRA.DECL.EXCPT.SPEC   Function is declared with different exception specifications

15-5-3 Required

MISRA.TERMINATE   terminate() function is called explicitly

15-5-2 Required

15-5-1 Required

MISRA.DTOR.THROW   Throw in destructor

16-0-8 Required

MISRA.USE.UNKNOWNDIR   Unknown preprocessor directive is used

16-0-7 Required

MISRA.ELIF.UNDEF   Undefined macros in #elif directive

MISRA.IF.UNDEF   Undefined macros in #if directive

16-0-6 Required

MISRA.DEFINE.NOPARS   Macro parameter with no parentheses

16-0-5 Required

MISRA.EXPANSION.DIRECTIVE   Directive-like tokens within a macro argument

16-0-4 Required

MISRA.DEFINE.FUNC   Function-like macro definition

16-0-3 Required

MISRA.UNDEF   Undef usage

16-0-2 Required

MISRA.DEFINE.NOTGLOBAL   Define not at the global level

MISRA.UNDEF.NOTGLOBAL   Undef not at the global level

16-0-1 Required

MISRA.INCL.INSIDE   Include directive preceded by a preprocessor output token

16-1-2 Required

MISRA.ELIF.OTHERFILE   #elif in an improper file

MISRA.ELSE.OTHERFILE   #else in an improper file

MISRA.ENDIF.OTHERFILE   #endif in an improper file

16-1-1 Required

MISRA.ELIF.DEFINED   Incorrect 'defined' usage in #elif directive

MISRA.IF.DEFINED   Incorrect 'defined' usage in #if directive

16-2-6 Required

MISRA.INCL.BAD   Non-standard include directive

16-2-5 Advisory

MISRA.INCL.SYMS   Non-standard characters in header file names

16-2-4 Required

MISRA.INCL.SYMS   Non-standard characters in header file names

16-2-3 Required

MISRA.INCGUARD   Include guard is not provided

16-2-2 Required

MISRA.DEFINE.BADEXP.CPP   Inappropriate macro expansion in a C++ source

16-2-1 Required

MISRA.USE.DEFINE   Non-guarding macro definition

MISRA.USE.EXPANSION   Macro expansion

MISRA.USE.WRONGDIR   Improper preprocessor directive

16-3-2 Advisory

MISRA.DEFINE.SHARP   # or ## operator in a macro definition

16-3-1 Required

MISRA.DEFINE.SHARP.MANY   Several # or ## operators in a macro definition

16-6-1

MISRA.PRAGMA   Non-documented pragma directive

17-0-5 Required

MISRA.EXPANSION.UNSAFE   Unsafe macro usage

MISRA.STDLIB.LONGJMP   Use of setjmp macro or longjmp function

17-0-3 Required

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

17-0-2 Required

MISRA.UNDEF.WRONGNAME   Undefinition of a name from the standard library

MISRA.UNDEF.WRONGNAME.UNDERSCORE   Undefinition of a reserved name

17-0-1 Required

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

18-0-5 Required

MISRA.STDLIB.CSTRING   Function from 'cstring' library is used

MISRA.STDLIB.CSTRING.MACRO   Macro from 'cstring' library is used

18-0-4 Required

MISRA.INCL.UNSAFE   Unsafe header inclusion

MISRA.STDLIB.TIME   Use of the time handling functions of library time.h

18-0-3 Required

MISRA.STDLIB.ABORT   Use of 'abort', 'exit', 'getenv' or 'system' from library stdlib.h

18-0-2 Required

MISRA.INCL.UNSAFE   Unsafe header inclusion

MISRA.STDLIB.ATOI   Use of 'atof', 'atoi' or 'atol' from library stdlib.h

18-0-1 Required

MISRA.EXPANSION.UNSAFE   Unsafe macro usage

18-2-1 Required

MISRA.EXPANSION.UNSAFE   Unsafe macro usage

18-4-1 Required

MISRA.STDLIB.MEMORY   Use of dynamic heap memory allocation

18-7-1 Required

MISRA.EXPANSION.UNSAFE   Unsafe macro usage

MISRA.INCL.UNSAFE   Unsafe header inclusion

MISRA.STDLIB.SIGNAL   Use of the signal handling facilities of signal.h

19-3-1 Required

MISRA.EXPANSION.UNSAFE   Unsafe macro usage

MISRA.STDLIB.ERRNO   Use of error indicator 'errno'

27-0-1 Required

MISRA.INCL.UNSAFE   Unsafe header inclusion

MISRA.STDLIB.STDIO   Use of input/output library stdio.h in production code

Dir. 0.3.1 Document

Dir. 0.4.1 Document

Dir. 0.4.2 Document

Dir. 0.4.3 Document

Dir. 1.0.2 Document

Dir. 1.0.3 Document

Dir. 2.2.1 Document

Dir. 7.4.1 Document

Dir. 9.6.1 Document

Dir. 15.0.1 Document

Dir. 16.6.1 Document

Dir. 17.0.4 Document

Support Summary

Total supported: 196

Total of not statically verifiable rules: 12

Total of statically verifiable rules not supported: 20

MISRA C++ coverage: 91% (excludes rules that are not statically verifiable)

"MISRA", "MISRA C" and "MISRA C++" are registered trademarks of The MISRA Consortium Limited. ​