blob: 809e636e1b0a02cdd48f016765f46c67a56ae296 [file] [log] [blame]
Minos Galanakisf4ca6ac2017-12-11 02:39:21 +01001//-------------------------------------------------------------------------------
2// Copyright (c) 2018-2019, Arm Limited and Contributors. All rights reserved.
3//
4// SPDX-License-Identifier: BSD-3-Clause
5//
6//-------------------------------------------------------------------------------
7
8//This file contains suppression rules for CppCheck.
9//C style comments can be used.
10//
11//Each line has three parts separated by ":"
12//<message id>:<file>:<line num>
13//Where:
14// <message id> is the message id to suppress. This equals to the "id" filed
15// of the XML message record.
16// <file> Is a file name. cppcheck understands the following wildcards:
17// * matches any number of any characters
18// ? a single character
19// Note: please use '/' as directory separator.
20// <line num> The line number for which the message shall be ignored.
21//
22//Example to convert an XML record to a line in thif file:
23// <error id="invalidPrintfArgType_sint" severity="warning" msg="%d in format string (no. 1) requires &apos;int&apos; but the argument type is &apos;unsigned int&apos;." verbose="%d in format string (no. 1) requires &apos;int&apos; but the argument type is &apos;unsigned int&apos;." cwe="686">
24// <location file0="C:\work\tf-m\test\framework\test_framework.c" file="C:\work\tf-m\test\framework\test_framework.c" line="150"/>
25// </error>
26// to
27//invalidPrintfArgType_sint:*/tf-m/test/framework/test_framework.c:150
28//
29
30//This rule conflicts the our coding style document.
31variableScope
32
33//CppCheck fails to understand macro definitions in compile_commands.json, which
34//have \ characters escaping the opening and closing ". As a result we get the
35//following false alarms.
Minos Galanakisf4ca6ac2017-12-11 02:39:21 +010036
37//CppCheck ignores macros defined on the command line when using a project file
38//(e.g. compile_commands.json). As a result we ca not set compiler specific
39//macros and need to suppress the following error.
40preprocessorErrorDirective:*/cmsis_compiler.h:320
41
42//While cppcheck states to work fine with missing standard library files, it
43//still reports a lot of errors regarding those.
44//So, ignore these.
45missingIncludeSystem
46
47//Stos cppcheck report errors regarding supression rules. These seem to be
48//buggy.
49unmatchedSuppression
50
51//arm_cmse.h is a special system include, stop complaining about it.
52missingInclude:*/tfm_core.h:11
53missingInclude:*/tfm_secure_api.h:11
Minos Galanakisea421232019-06-20 17:11:28 +010054
55//Exclude external qcbor code which does not comply with guidelines
Tamas Ban351a3fa2019-12-02 11:06:18 +000056*:*/lib/ext/*
Minos Galanakisea421232019-06-20 17:11:28 +010057*:*/bl2/ext/*
58*:*/platform/ext/*