sarmfsw: SMFSW Toolbox (for ARM & compatible with Arduino platform) 3.7
SMFSW collection of miscellaneous functions & macros (for ARM & compatible with Arduino platform)
Loading...
Searching...
No Matches
MISRA C:2012 Deviations List
File arm_attributes.h

Header scope deviation has been granted for following rules:
Rule-20.5 - Advisory: #undef (misra-c2012-20.5)
Rule-20.10 - Advisory: # and ## preprocessor operators (misra-c2012-20.10)

Header scope legitimate use derogation authorized for:
Rule-21.1 - Required: #define and #undef on reserved identifiers (misra-c2012-21.1)
Justification: #define are generic reserved identifiers for attributes.

File arm_chip_ino.h
Header scope deviation has been granted for following rules:
Rule-20.5 - Advisory: #undef (misra-c2012-20.5)
File arm_chip_pic.h
Header scope deviation has been granted for following rules:
Rule-20.5 - Advisory: #undef (misra-c2012-20.5)
File arm_cmsis.h
Header scope derogation to following rules:
Rule-21.1 - Required: #define and #undef on reserved identifiers (misra-c2012-21.1)
Justification: define generic CMSIS IO macros in case not already defined.
File arm_macros.h
Header scope deviation has been granted for following rules:
Rule-1.2 - Advisory: Language extensions (misra-c2012-1.2)
Rule-20.5 - Advisory: #undef (misra-c2012-20.5)
Rule-20.10 - Advisory: # and ## preprocessor operators (misra-c2012-20.10)
File arm_typedefs.h

Header scope deviation has been granted for following rules:
Rule-19.2 - Advisory: union keyword (misra-c2012-19.2)

Header scope legitimate use derogation authorized for:
Rule-21.1 - Required: #define and #undef on reserved identifiers (misra-c2012-21.1)
Justification: #define are library specific reserved identifiers.

Global HALTICKS_PROTOTYPE (func)
Local derogation authorized for:
Rule-20.7 - Required: Enclosed macro parameters expansion (misra-c2012-20.7)
Justification: func paramater shall be a function name; raising error otherwise is intended.
Global LINEAR_EVAL (name, val)
Local legitimate use derogation authorized for:
Rule-20.7 - Required: Enclosed macro parameters expansion (misra-c2012-20.7)
Justification: Result expansion of name wouldn't produce the desired structured access expansion.
Global LINEAR_TAB (name, nbElem)
Local deviation has been granted for following rules:
Rule-20.10 - Advisory: # and ## preprocessor operators (misra-c2012-20.10)
Global OFFSET_OF (typ, mbr)
Local legitimate use derogation authorized for:
Rule-20.7 - Required: Enclosed macro parameters expansion (misra-c2012-20.7)
Justification: typ parameter would be cast instead of type.
Justification: mbr parameter shall be a structure member; will in any way raise an error in case not.
Global RESTRICTED_AVERAGE (typ_t, sum_t)
Function scope deviation granted for:
Rule-20.10 - Advisory: # and ## preprocessor operators (misra-c2012-20.10)
Local legitimate use derogation authorized for:
Rule-18.8 - Required: Var-length array types (misra-c2012-18.8)
Justification: pArray is used as array, makes sense to declare it in the same manner.
Justification: copy array needs to have a size and is always used in conjunction with nb.
Rule-20.7 - Required: Enclosed macro parameters expansion (misra-c2012-20.7)
Justification: typ_t parameter would be always be used as cast and wouldn't name concatenate.
Global ROOT_OF (ptr, typ, mbr)
Local legitimate use derogation authorized for:
Rule-20.7 - Required: Enclosed macro parameters expansion (misra-c2012-20.7)
Justification: mbr parameter shall be a structure member; will in any way raise an error in case not.
Global rotate_2D (const sCoord2D c, const SWORD angle)
Function scope deviation granted for:
Rule-15.5 - Advisory: single point of exit (misra-c2012-15.5)
Struct sLinearFlexArray
Function scope derogation authorized for:
Rule-18.7 - Required: flexible array members (misra-c2012-18.7)
Justification: array being an array of array, this is a rather legitimate representation of object than a pointer.
Global SWAP_TYPE (a, b, typ)
Local legitimate use derogation authorized for:
Rule-20.7 - Required: Enclosed macro parameters expansion (misra-c2012-20.7)
Justification: typ parameter would be cast instead of type declaration (thus raising error); other parameters shall be variable names, raising error otherwise is intended.
Global SZ_ARRAY (arr)
local derogation authorized for:
Rule-20.7 - Required: Enclosed macro parameters expansion (misra-c2012-20.7)
Justification: Parenthesis doesn't make sense as parameter arr shall be an instance of type; raising error otherwise is intended.
Global SZ_OBJ (obj, typ)
Local legitimate use derogation authorized for:
Rule-20.7 - Required: Enclosed macro parameters expansion (misra-c2012-20.7)
Justification: obj parameter can be a type instead of an istance of type.
Justification: typ parameter would be cast instead of type.
Global SZ_TYP_MBR (typ, mbr)
Local legitimate use derogation authorized for:
Rule-20.7 - Required: Enclosed macro parameters expansion (misra-c2012-20.7)
Justification: typ parameter would be cast instead of type.
Justification: mbr parameter shall be a structure member; will in any way raise an error in case not.
Global testEndian_full (void)
Function scope deviation granted for:
Rule-15.5 - Advisory: single point of exit (misra-c2012-15.5)
Rule-19.2 - Advisory: union keyword (misra-c2012-19.2)
Global TYP_MBR (typ, mbr)
Local legitimate use derogation authorized for:
Rule-20.7 - Required: Enclosed macro parameters expansion (misra-c2012-20.7)
Justification: typ parameter would be cast instead of type.
Justification: mbr parameter shall be a structure member; will in any way raise an error in case not.
Global VAL_AT (addr, typ)
Local legitimate use derogation authorized for:
Rule-20.7 - Required: Enclosed macro parameters expansion (misra-c2012-20.7)
Justification: typ parameter would be cast instead of type.