@@ -53,73 +53,50 @@ premium-cert-exp55-cpp
5353###########################################################################################################################
5454
5555# There are false positives
56+ premium-misra-cpp-2023-6.5.1:lib/symboldatabase.cpp
5657premium-misra-cpp-2023-6.7.2
58+ premium-misra-cpp-2023-6.8.3
5759premium-misra-cpp-2023-7.0.3
5860premium-misra-cpp-2023-8.2.5
5961premium-misra-cpp-2023-8.18.2
60- premium-misra-cpp-2023-21.6.2
61-
62- # TODO check if these should be suppressed or not
63- premium-misra-cpp-2023-0.2.1
64- premium-misra-cpp-2023-0.2.2
65- premium-misra-cpp-2023-10.0.1
66- premium-misra-cpp-2023-10.2.1
67- premium-misra-cpp-2023-10.2.2
68- premium-misra-cpp-2023-11.6.3
6962premium-misra-cpp-2023-13.1.2
7063premium-misra-cpp-2023-13.3.1
71- premium-misra-cpp-2023-13.3.2
72- premium-misra-cpp-2023-13.3.3
73- premium-misra-cpp-2023-15.1.2
74- premium-misra-cpp-2023-15.1.3
75- premium-misra-cpp-2023-18.1.1
76- premium-misra-cpp-2023-18.3.2
77- premium-misra-cpp-2023-18.4.1
78- premium-misra-cpp-2023-19.0.3
79- premium-misra-cpp-2023-19.1.3
80- premium-misra-cpp-2023-19.3.1
81- premium-misra-cpp-2023-19.6.1
82- premium-misra-cpp-2023-21.2.1
83- premium-misra-cpp-2023-21.2.2
84- premium-misra-cpp-2023-21.2.3
85- premium-misra-cpp-2023-23.11.1
86- premium-misra-cpp-2023-26.3.1
87- premium-misra-cpp-2023-28.6.1
88- premium-misra-cpp-2023-30.0.1
89- premium-misra-cpp-2023-5.13.2
90- premium-misra-cpp-2023-5.13.4
91- premium-misra-cpp-2023-6.0.3
92- premium-misra-cpp-2023-6.2.4
93- premium-misra-cpp-2023-6.4.2
94- premium-misra-cpp-2023-6.5.1
95- premium-misra-cpp-2023-6.8.3
96- premium-misra-cpp-2023-6.9.2
97- premium-misra-cpp-2023-7.0.1
98- premium-misra-cpp-2023-7.0.4
99- premium-misra-cpp-2023-7.0.6
100- premium-misra-cpp-2023-7.11.2
101- premium-misra-cpp-2023-7.11.3
102- premium-misra-cpp-2023-8.0.1
103- premium-misra-cpp-2023-8.1.1
104- premium-misra-cpp-2023-8.19.1
105- premium-misra-cpp-2023-8.2.11
106- premium-misra-cpp-2023-8.2.6
107- premium-misra-cpp-2023-8.2.7
108- premium-misra-cpp-2023-8.2.8
109- premium-misra-cpp-2023-9.5.1
110- premium-misra-cpp-2023-9.5.2
111- premium-misra-cpp-2023-9.6.4
64+ premium-misra-cpp-2023-21.6.2
65+ # False positives: #13004
66+ premium-misra-cpp-2023-8.2.7:lib/valueflow.cpp
67+ premium-misra-cpp-2023-8.2.7:lib/checkclass.cpp
11268
11369
11470# ignored function return value (emplace etc)
11571premium-misra-cpp-2023-0.1.2
11672
73+ # TODO there is unused map
74+ premium-misra-cpp-2023-0.2.1:lib/symboldatabase.cpp
75+
76+ # TODO use named function arguments
77+ premium-misra-cpp-2023-0.2.2
78+
11779# we comment out code by intention in some cases
11880premium-misra-cpp-2023-5.7.2
11981
12082# TODO should we use this rule?
12183premium-misra-cpp-2023-5.10.1
12284
85+ # we use octal by intention in lib/color.cpp
86+ premium-misra-cpp-2023-5.13.2:lib/color.cpp
87+
88+ # we intentionally write numeric constants without suffixes
89+ premium-misra-cpp-2023-5.13.4
90+
91+ # we declare variables, functions, etc in global namespace by intention
92+ premium-misra-cpp-2023-6.0.3
93+
94+ # TODO use inline for template functions?
95+ premium-misra-cpp-2023-6.2.4
96+
97+ # TODO ensure we don't conceal methods in derived classes
98+ premium-misra-cpp-2023-6.4.2
99+
123100# Internal linkage using "static" keyword
124101premium-misra-cpp-2023-6.5.2
125102
@@ -129,12 +106,48 @@ premium-misra-cpp-2023-6.7.1
129106# FIXME enforce proper ref qualifications
130107premium-misra-cpp-2023-6.8.4
131108
109+ # We intentionally use the standard integer types
110+ premium-misra-cpp-2023-6.9.2
111+
112+ # we have conversion from bool to int by intention
113+ premium-misra-cpp-2023-7.0.1
114+
132115# we convert integer to bool by intention
133116premium-misra-cpp-2023-7.0.2
134117
118+ # signed integer expression in bitwise rhs by intention
119+ premium-misra-cpp-2023-7.0.4
120+
121+ # sign conversions in assignments by intention
122+ premium-misra-cpp-2023-7.0.6
123+
124+ # we intentionally have array-to-pointer decay in some function calls
125+ premium-misra-cpp-2023-7.11.2
126+
127+ # warns when we use callbacks
128+ premium-misra-cpp-2023-7.11.3
129+
130+ # too picky about operator precedence.
131+ premium-misra-cpp-2023-8.0.1
132+
133+ # TODO use std::uintptr_t
134+ premium-misra-cpp-2023-8.1.1
135+
135136# TODO should we use this rule?
136137premium-misra-cpp-2023-8.1.2
137138
139+ # TODO use strchr instead of memchr?
140+ premium-misra-cpp-2023-8.2.6
141+
142+ # intentional pointer to int conversion in lib/utils.h to output dump files
143+ premium-misra-cpp-2023-8.2.7:lib/utils.h
144+
145+ # TODO: use std::uintptr_t
146+ premium-misra-cpp-2023-8.2.8
147+
148+ # TODO check ellipsis usage
149+ premium-misra-cpp-2023-8.2.11
150+
138151# we call functions etc by intention in && || RHS
139152premium-misra-cpp-2023-8.14.1
140153
@@ -147,35 +160,114 @@ premium-misra-cpp-2023-8.2.3
147160# we use recursion by intention
148161premium-misra-cpp-2023-8.2.10
149162
163+ # we separate variable declarations by intention with comma
164+ premium-misra-cpp-2023-8.19.1
165+
150166# we leave out {} sometimes
151167premium-misra-cpp-2023-9.3.1
152168
153169# we leave out "else" by intention
154170premium-misra-cpp-2023-9.4.1
155171
172+ # looping through linked lists by intention
173+ premium-misra-cpp-2023-9.5.1
174+
175+ # I believe it warns in some cases where we don't have UB
176+ premium-misra-cpp-2023-9.5.2
177+
178+ # cppcheck does not understand that __builtin_unreachable() is noreturn
179+ premium-misra-cpp-2023-9.6.4:lib/utils.h
180+
181+ # we declare multiple variables by intention
182+ premium-misra-cpp-2023-10.0.1
183+
184+ # we do not define enum type explicitly by intention
185+ premium-misra-cpp-2023-10.2.1
186+
187+ # TODO we have unscoped enums
188+ premium-misra-cpp-2023-10.2.2
189+
156190# we use arrays by intention
157191premium-misra-cpp-2023-11.3.1
158192
159193# we dont initialize variables directly by intention
160194premium-misra-cpp-2023-11.6.1
161195
196+ # we have enums where only last constant is initialized by intention
197+ premium-misra-cpp-2023-11.6.3
198+
162199# we use unions by intention
163200premium-misra-cpp-2023-12.3.1
164201
202+ # TODO ensure overrides match
203+ premium-misra-cpp-2023-13.3.2
204+
205+ # TODO use the same parameter names in overriden methods.
206+ premium-misra-cpp-2023-13.3.3
207+
165208# we sometimes use both public/private data members by intention
166209premium-misra-cpp-2023-14.1.1
167210
168211# TODO should we use this rule?
169212premium-misra-cpp-2023-15.0.1
170213
214+ # seems too picky (explicitly calling InferModel and Analyzer base class constructors even though they are defaulted).
215+ premium-misra-cpp-2023-15.1.2
216+
217+ # TODO use explicit for conversion operator
218+ premium-misra-cpp-2023-15.1.3
219+
171220# TODO: should we use this rule?
172221premium-misra-cpp-2023-16.6.1
173222
174223# TODO: should we use this rule?
175224premium-misra-cpp-2023-17.8.1
176225
226+ # TODO: should we throw token pointers?
227+ premium-misra-cpp-2023-18.1.1
228+
229+ # TODO do not throw token pointer?
230+ premium-misra-cpp-2023-18.3.2:lib/tokenize.cpp
231+
232+ # TODO use noexcept
233+ premium-misra-cpp-2023-18.4.1
234+
235+ # in smallvector we intentionally put a constant above some preprocessor includes
236+ premium-misra-cpp-2023-19.0.3:lib/smallvector.h
237+
238+ # code is intentional, should cppcheck premium understand __has_cpp_attribute and compiler defines better?
239+ premium-misra-cpp-2023-19.1.3:lib/config.h
240+
241+ # we use #/## by intention in some cases
242+ premium-misra-cpp-2023-19.3.1
243+
244+ # We use #pragma by intention
245+ premium-misra-cpp-2023-19.6.1
246+
247+ # We use atoi by intention
248+ premium-misra-cpp-2023-21.2.1
249+
250+ # We use <cstring> functions by intention
251+ premium-misra-cpp-2023-21.2.2
252+
253+ # We have limited use of std::getenv by intention
254+ premium-misra-cpp-2023-21.2.3
255+
177256# Dynamic memory usage in std::string etc
178257premium-misra-cpp-2023-21.6.1
179258
259+ # TODO use std::make_unique when we require C++14
260+ premium-misra-cpp-2023-23.11.1
261+
180262# we use <cctype> by intention
181263premium-misra-cpp-2023-24.5.1
264+
265+ # we use std::vector<bool> by intention in lib/infer.cpp but in general it should be avoided
266+ premium-misra-cpp-2023-26.3.1:lib/infer.cpp
267+
268+ # TODO review that std::move is used properly
269+ premium-misra-cpp-2023-28.6.1
270+
271+ # we use cstdio by intention
272+ premium-misra-cpp-2023-30.0.1
273+
0 commit comments