124 lines
4.0 KiB
Plaintext
124 lines
4.0 KiB
Plaintext
/* MISRA checks are not performed in header files marked as libraries or
|
|
vendor-provided files or belonging to other subsystems.*/
|
|
-e686 /* Silencing warning on -elib(*) */
|
|
-elib(*) /* No checks on library files. */
|
|
+libclass(angle,ansi)
|
|
+libh(core_cm4.h)
|
|
+libh(stm32*.h)
|
|
+libh(*_lld.h)
|
|
|
|
/* Reinforcing type checking for some critical types even if not required by
|
|
MISRA.*/
|
|
-strong(AJX, systime_t)
|
|
-strong(AJX, rtcnt_t)
|
|
-strong(AJX, rttime_t)
|
|
-strong(AJX, syssts_t)
|
|
-strong(AJX, msg_t)
|
|
-strong(AJX, tmode_t)
|
|
-strong(AJX, tstate_t)
|
|
-strong(AJX, trefs_t)
|
|
-strong(AJX, tslices_t)
|
|
-strong(AJX, tprio_t)
|
|
-strong(AJX, cnt_t)
|
|
-strong(AJX, ucnt_t)
|
|
-strong(AJX, eventid_t)
|
|
-strong(AJX, eventmask_t)
|
|
-strong(AJX, eventflags_t)
|
|
|
|
/* Permitting anonymous unions.*/
|
|
+fan
|
|
|
|
/* Silencing common non-MISRA info generated by PCLint in -w3 mode. All of
|
|
them have been controlled. Other infos have been fixed in the code.
|
|
Remove temporarily the following -e in order to perform extra code quality
|
|
checks.*/
|
|
-e526 -e537 -e552
|
|
-e611 -e613
|
|
-e714 -e716 -e717 -e749 -e750 -e754 -e757 -e758 -e759 -e766 -e768 -e769 -e773 -e778 -e793
|
|
-e826 -e830 -e835 -e845
|
|
|
|
/* Removing *advisory* directives and rules that would negatively impact
|
|
code readability or not avoidable.*/
|
|
-e970 /* Dir-4.6 */
|
|
-e9045 /* Dir-4.8 */
|
|
-e9026 /* Dir-4.9 */
|
|
-e756 /* Rule-2.3 */
|
|
-e9058 /* Rule-2.4 */
|
|
-e755 /* Rule-2.5 */
|
|
-e9003 /* Rule-8.9 */
|
|
-e9067 /* Rule-8.11 */
|
|
-e818 /* Rule 8.13 */
|
|
-e9078 /* Rule-11.4 */
|
|
-e9079 /* Rule-11.5 */
|
|
-e9049 /* Rule-13.3 */
|
|
-e9084 /* Rule-13.4 */
|
|
-e801 /* Rule-15.1 */
|
|
-e9011 /* Rule-15.4 */
|
|
-e904 /* Rule-15.5 */
|
|
-e9044 /* Rule-17.8 */
|
|
-e9016 /* Rule-18.4 */
|
|
-e844 -e954 /* Rule-18.13 */
|
|
-e9018 /* Rule-19.2 */
|
|
-e9021 /* Rule-20.5 */
|
|
-e9024 /* Rule-20.10 */
|
|
|
|
/* Waiver Directive 2.1, Rule 1.1, Rule 1.2, assembler is allowed in some
|
|
modules.*/
|
|
-e950
|
|
|
|
/* Waiver Directive 4.10, PCLint is confused by the guard used in the CMSIS
|
|
header files, the guard is present, suppressing the noise.*/
|
|
-e451
|
|
|
|
/* Waiver Rule 2.2, PCLint marks as pure functions that contain just asm
|
|
code, this does not mean that those functions do nothing.*/
|
|
-e522
|
|
|
|
/* Waiver Rule 3.1, the sequence "//" is mandated by standard license
|
|
headers included on top of all source files. The sequence is part of the
|
|
license URL and cannot be removed.*/
|
|
-e9059
|
|
|
|
/* Waiver Rule 8.4, this rule is disabled for the main() function only because
|
|
it, of course, does not have nor requires a prior declaration.*/
|
|
-esym(9075, main)
|
|
|
|
/* Waiver Rule 8.7, the static analyzer has no visibility of functions called
|
|
from asm modules.*/
|
|
-e765
|
|
|
|
/* Waiver Rule 11.1, casts of function pointers are required by system
|
|
design.*/
|
|
-e9074
|
|
|
|
/* Waiver Rule 11.3, casts among different types are required by system
|
|
design.*/
|
|
-e740 /* Wrongly marked as 1.3 in PCLint 9.00L.*/
|
|
-e9087
|
|
|
|
/* Waiver Rule 11.6, cast from integer to pointer is very commonly used
|
|
when accessing peripherals where the numeric address of the registers
|
|
block is cast to a structure pointer.*/
|
|
-e923
|
|
|
|
/* Waiver Rule 16.1, missing break into case. It is a common occurrence and
|
|
thoroughly checked.*/
|
|
/* Waiver Rule 16.3, missing break into case. It is a common occurrence and
|
|
thoroughly checked.*/
|
|
-e9090
|
|
-e9077
|
|
-e9042
|
|
-e616
|
|
-e825
|
|
|
|
/* Waiver Rule 18.2, pointers arithmetic is required by system design and
|
|
deemed safe.*/
|
|
/* Waiver Rule 18.3, comparisons among pointers is required by system design
|
|
and deemed safe.*/
|
|
-e946
|
|
-e947
|
|
|
|
/* Waiver Rule 21.1, this is an operating system, its identifiers are
|
|
equivalent in importance to compiler symbols.*/
|
|
-e9071
|