blob: 368edb6ac3a11afc83dcf74d882fe6007580bb18 [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.
36preprocessorErrorDirective:*/mbedtls/platform.h:29
37preprocessorErrorDirective:*/mbedtls/sha256.h:29
38
39//CppCheck ignores macros defined on the command line when using a project file
40//(e.g. compile_commands.json). As a result we ca not set compiler specific
41//macros and need to suppress the following error.
42preprocessorErrorDirective:*/cmsis_compiler.h:320
43
44//While cppcheck states to work fine with missing standard library files, it
45//still reports a lot of errors regarding those.
46//So, ignore these.
47missingIncludeSystem
48
49//Stos cppcheck report errors regarding supression rules. These seem to be
50//buggy.
51unmatchedSuppression
52
53//arm_cmse.h is a special system include, stop complaining about it.
54missingInclude:*/tfm_core.h:11
55missingInclude:*/tfm_secure_api.h:11