/** \page coreMISRA_Exceptions_pg MISRA-C Deviations
CMSIS-Core (Cortex-A) uses the common coding rules for CMSIS components that are documented under
Introduction.
CMSIS-Core (Cortex-A) violates the following MISRA-C:2004 rules:
TO BE EVALUATED
*/
/*
- Required Rule 8.5, object/function definition in header file.
Violated since function definitions in header files are used for function inlining'.
- Advisory Rule 12.4, Side effects on right hand side of logical operator.
Violated because volatile is used for core register definitions.
- Advisory Rule 14.7, Return statement before end of function.
Violated to simplify code logic.
- Required Rule 18.4, declaration of union type or object of union type: '{...}'.
Violated since unions are used for effective representation of core registers.
- Advisory Rule 19.4, Disallowed definition for macro.
Violated since macros are used for assembler keywords.
- Advisory Rule 19.7, Function-like macro defined.
Violated since function-like macros are used to generate more efficient code.
- Advisory Rule 19.16, all preprocessing directives must be valid.
Violated to set default settings for macros.
*/
/**
CMSIS-Core (Cortex-A) violates the following MISRA-C:2012 rules:
TO BE EVALUATED
*/
/*
- Directive 4.9, function-like macro defined.
Violated since function-like macros are used to generate more efficient code.
- Rule 1.3, multiple use of '#/##' operators in macro definition.
Violated since function-like macros are used to generate more efficient code.
- Rule 11.4, conversion between a pointer and integer type.
Violated because of core register access.
- Rule 11.6, cast from unsigned long to pointer.
Violated because of core register access.
- Rule 13.5, side effects on right hand side of logical operator.
Violated because of shift operand is used in macros and functions.
- Rule 14.4, conditional expression should have essentially Boolean type.
Violated since macros with several instructions are used.
- Rule 15.5, return statement before end of function.
Violated to simplify code logic.
- Rule 20.10, '#/##' operators used.
Violated since function-like macros are used to generate more efficient code.
- Rule 21.1, reserved to the compiler.
Violated since macros with leading underscores are used.
*/