Cppcheck
checkers.cpp
Go to the documentation of this file.
1 /*
2  * Cppcheck - A tool for static C/C++ code analysis
3  * Copyright (C) 2007-2024 Cppcheck team.
4  *
5  * This program is free software: you can redistribute it and/or modify
6  * it under the terms of the GNU General Public License as published by
7  * the Free Software Foundation, either version 3 of the License, or
8  * (at your option) any later version.
9  *
10  * This program is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13  * GNU General Public License for more details.
14  *
15  * You should have received a copy of the GNU General Public License
16  * along with this program. If not, see <http://www.gnu.org/licenses/>.
17  */
18 
19 // This file is auto-generated by tools/get_checkers.py:
20 // python3 tools/get_checkers.py > lib/checkers.cpp
21 
22 #include "checkers.h"
23 
24 namespace checkers {
25  const std::map<std::string, std::string> allCheckers{
26  {"CheckBool::checkIncrementBoolean","style"},
27  {"CheckBool::checkBitwiseOnBoolean","style,inconclusive"},
28  {"CheckBool::checkComparisonOfBoolWithInt","warning,c++"},
29  {"CheckBool::checkComparisonOfFuncReturningBool","style,c++"},
30  {"CheckBool::checkComparisonOfBoolWithBool","style,c++"},
31  {"CheckBool::checkAssignBoolToPointer",""},
32  {"CheckBool::checkComparisonOfBoolExpressionWithInt","warning"},
33  {"CheckBool::pointerArithBool",""},
34  {"CheckBool::checkAssignBoolToFloat","style,c++"},
35  {"CheckBool::returnValueOfFunctionReturningBool","style"},
36  {"CheckPostfixOperator::postfixOperator","performance"},
37  {"CheckSizeof::checkSizeofForNumericParameter","warning"},
38  {"CheckSizeof::checkSizeofForArrayParameter","warning"},
39  {"CheckSizeof::checkSizeofForPointerSize","warning"},
40  {"CheckSizeof::sizeofsizeof","warning"},
41  {"CheckSizeof::sizeofCalculation","warning"},
42  {"CheckSizeof::sizeofFunction","warning"},
43  {"CheckSizeof::suspiciousSizeofCalculation","warning,inconclusive"},
44  {"CheckSizeof::sizeofVoid","portability"},
45  {"Check64BitPortability::pointerassignment","portability"},
46  {"CheckStl::outOfBounds",""},
47  {"CheckStl::outOfBoundsIndexExpression",""},
48  {"CheckStl::iterators",""},
49  {"CheckStl::misMatchingContainers",""},
50  {"CheckStl::misMatchingContainerIterator",""},
51  {"CheckStl::invalidContainer",""},
52  {"CheckStl::stlOutOfBounds",""},
53  {"CheckStl::negativeIndex",""},
54  {"CheckStl::erase",""},
55  {"CheckStl::stlBoundaries",""},
56  {"CheckStl::if_find","warning,performance"},
57  {"CheckStl::checkFindInsert","performance"},
58  {"CheckStl::size","performance,c++03"},
59  {"CheckStl::redundantCondition","style"},
60  {"CheckStl::missingComparison","warning"},
61  {"CheckStl::string_c_str",""},
62  {"CheckStl::uselessCalls","performance,warning"},
63  {"CheckStl::checkDereferenceInvalidIterator","warning"},
64  {"CheckStl::checkDereferenceInvalidIterator2",""},
65  {"CheckStl::useStlAlgorithm","style"},
66  {"CheckStl::knownEmptyContainer","style"},
67  {"CheckStl::eraseIteratorOutOfBounds",""},
68  {"CheckStl::checkMutexes","warning"},
69  {"CheckBoost::checkBoostForeachModification",""},
70  {"CheckNullPointer::nullPointer",""},
71  {"CheckNullPointer::nullConstantDereference",""},
72  {"CheckNullPointer::arithmetic",""},
73  {"CheckNullPointer::analyseWholeProgram","unusedfunctions"},
74  {"CheckBufferOverrun::arrayIndex",""},
75  {"CheckBufferOverrun::pointerArithmetic","portability"},
76  {"CheckBufferOverrun::bufferOverflow",""},
77  {"CheckBufferOverrun::arrayIndexThenCheck",""},
78  {"CheckBufferOverrun::stringNotZeroTerminated","warning,inconclusive"},
79  {"CheckBufferOverrun::argumentSize","warning"},
80  {"CheckBufferOverrun::analyseWholeProgram",""},
81  {"CheckBufferOverrun::objectIndex",""},
82  {"CheckBufferOverrun::negativeArraySize",""},
83  {"CheckUninitVar::check",""},
84  {"CheckUninitVar::valueFlowUninit",""},
85  {"CheckOther::checkCastIntToCharAndBack","warning"},
86  {"CheckOther::clarifyCalculation","style"},
87  {"CheckOther::clarifyStatement","warning"},
88  {"CheckOther::checkSuspiciousSemicolon","warning,inconclusive"},
89  {"CheckOther::warningOldStylePointerCast","style,c++"},
90  {"CheckOther::invalidPointerCast","portability"},
91  {"CheckOther::checkRedundantAssignment","style"},
92  {"CheckOther::redundantBitwiseOperationInSwitch","warning"},
93  {"CheckOther::checkSuspiciousCaseInSwitch","warning,inconclusive"},
94  {"CheckOther::checkUnreachableCode","style"},
95  {"CheckOther::checkVariableScope","style,notclang"},
96  {"CheckOther::checkPassByReference","performance,c++"},
97  {"CheckOther::checkConstPointer","style"},
98  {"CheckOther::checkCharVariable","warning,portability"},
99  {"CheckOther::checkIncompleteStatement","warning"},
100  {"CheckOther::checkZeroDivision",""},
101  {"CheckOther::checkNanInArithmeticExpression","style"},
102  {"CheckOther::checkMisusedScopedObject","style,c++"},
103  {"CheckOther::checkDuplicateBranch","style,inconclusive"},
104  {"CheckOther::checkInvalidFree",""},
105  {"CheckOther::checkDuplicateExpression","style,warning"},
106  {"CheckOther::checkComparisonFunctionIsAlwaysTrueOrFalse","warning"},
107  {"CheckOther::checkSignOfUnsignedVariable","style"},
108  {"CheckOther::checkRedundantCopy","c++,performance,inconclusive"},
109  {"CheckOther::checkNegativeBitwiseShift",""},
110  {"CheckOther::checkIncompleteArrayFill","warning,portability,inconclusive"},
111  {"CheckOther::checkVarFuncNullUB","portability"},
112  {"CheckOther::checkRedundantPointerOp","style"},
113  {"CheckOther::checkInterlockedDecrement","windows-platform"},
114  {"CheckOther::checkUnusedLabel","style,warning"},
115  {"CheckOther::checkEvaluationOrder","C/C++03"},
116  {"CheckOther::checkAccessOfMovedVariable","c++11,warning"},
117  {"CheckOther::checkFuncArgNamesDifferent","style,warning,inconclusive"},
118  {"CheckOther::checkShadowVariables","style"},
119  {"CheckOther::checkKnownArgument","style"},
120  {"CheckOther::checkKnownPointerToBool","style"},
121  {"CheckOther::checkComparePointers",""},
122  {"CheckOther::checkModuloOfOne","style"},
123  {"CheckOther::checkOverlappingWrite",""},
124  {"CheckClass::checkConstructors","style,warning"},
125  {"CheckClass::checkExplicitConstructors","style"},
126  {"CheckClass::checkCopyConstructors","warning"},
127  {"CheckClass::initializationListUsage","performance"},
128  {"CheckClass::privateFunctions","style"},
129  {"CheckClass::checkMemset",""},
130  {"CheckClass::operatorEqRetRefThis","style"},
131  {"CheckClass::operatorEqToSelf","warning"},
132  {"CheckClass::virtualDestructor",""},
133  {"CheckClass::thisSubtraction","warning"},
134  {"CheckClass::checkConst","style,inconclusive"},
135  {"CheckClass::initializerListOrder","style,inconclusive"},
136  {"CheckClass::checkSelfInitialization",""},
137  {"CheckClass::checkVirtualFunctionCallInConstructor","warning"},
138  {"CheckClass::checkDuplInheritedMembers","warning"},
139  {"CheckClass::checkMissingOverride","style,c++03"},
140  {"CheckClass::checkUselessOverride","style"},
141  {"CheckClass::checkReturnByReference","performance"},
142  {"CheckClass::checkThisUseAfterFree","warning"},
143  {"CheckClass::checkUnsafeClassRefMember","warning,safeChecks"},
144  {"CheckClass::analyseWholeProgram",""},
145  {"CheckUnusedVar::checkFunctionVariableUsage","style"},
146  {"CheckUnusedVar::checkStructMemberUsage","style"},
147  {"CheckIO::checkCoutCerrMisusage","c"},
148  {"CheckIO::checkFileUsage",""},
149  {"CheckIO::checkWrongPrintfScanfArguments",""},
150  {"CheckCondition::assignIf","style"},
151  {"CheckCondition::checkBadBitmaskCheck","style"},
152  {"CheckCondition::comparison","style"},
153  {"CheckCondition::duplicateCondition","style"},
154  {"CheckCondition::multiCondition","style"},
155  {"CheckCondition::multiCondition2","warning"},
156  {"CheckCondition::checkIncorrectLogicOperator","style,warning"},
157  {"CheckCondition::checkModuloAlwaysTrueFalse","warning"},
158  {"CheckCondition::clarifyCondition","style"},
159  {"CheckCondition::alwaysTrueFalse","style"},
160  {"CheckCondition::checkInvalidTestForOverflow","warning"},
161  {"CheckCondition::checkPointerAdditionResultNotNull","warning"},
162  {"CheckCondition::checkDuplicateConditionalAssign","style"},
163  {"CheckCondition::checkAssignmentInCondition","style"},
164  {"CheckCondition::checkCompareValueOutOfTypeRange","style,platform"},
165  {"CheckFunctions::checkProhibitedFunctions",""},
166  {"CheckFunctions::invalidFunctionUsage",""},
167  {"CheckFunctions::checkIgnoredReturnValue","style,warning"},
168  {"CheckFunctions::checkMissingReturn",""},
169  {"CheckFunctions::checkMathFunctions","style,warning,c99,c++11"},
170  {"CheckFunctions::memsetZeroBytes","warning"},
171  {"CheckFunctions::memsetInvalid2ndParam","warning,portability"},
172  {"CheckFunctions::returnLocalStdMove","performance,c++11"},
173  {"CheckFunctions::useStandardLibrary","style"},
174  {"CheckVaarg::va_start_argument",""},
175  {"CheckVaarg::va_list_usage","notclang"},
176  {"CheckUnusedFunctions::check","unusedFunction"},
177  {"CheckType::checkTooBigBitwiseShift","platform"},
178  {"CheckType::checkIntegerOverflow","platform"},
179  {"CheckType::checkSignConversion","warning"},
180  {"CheckType::checkLongCast","style"},
181  {"CheckType::checkFloatToIntegerOverflow",""},
182  {"CheckString::stringLiteralWrite",""},
183  {"CheckString::checkAlwaysTrueOrFalseStringCompare","warning"},
184  {"CheckString::checkSuspiciousStringCompare","warning"},
185  {"CheckString::strPlusChar",""},
186  {"CheckString::checkIncorrectStringCompare","warning"},
187  {"CheckString::overlappingStrcmp","warning"},
188  {"CheckString::sprintfOverlappingData",""},
189  {"CheckAssert::assertWithSideEffects","warning"},
190  {"CheckExceptionSafety::destructors","warning"},
191  {"CheckExceptionSafety::deallocThrow","warning"},
192  {"CheckExceptionSafety::checkRethrowCopy","style"},
193  {"CheckExceptionSafety::checkCatchExceptionByValue","style"},
194  {"CheckExceptionSafety::nothrowThrows",""},
195  {"CheckExceptionSafety::unhandledExceptionSpecification","style,inconclusive"},
196  {"CheckExceptionSafety::rethrowNoCurrentException",""},
197  {"CheckAutoVariables::assignFunctionArg","style,warning"},
198  {"CheckAutoVariables::autoVariables",""},
199  {"CheckAutoVariables::checkVarLifetime",""},
200  {"CheckLeakAutoVar::check","notclang"},
201  {"CheckMemoryLeakInFunction::checkReallocUsage",""},
202  {"CheckMemoryLeakInClass::check",""},
203  {"CheckMemoryLeakStructMember::check",""},
204  {"CheckMemoryLeakNoVar::check",""},
205  };
206 
207  const std::map<std::string, std::string> premiumCheckers{
208  {"Autosar: A0-1-3",""},
209  {"Autosar: A0-1-6",""},
210  {"Autosar: A0-4-2",""},
211  {"Autosar: A0-4-4",""},
212  {"Autosar: A10-1-1",""},
213  {"Autosar: A11-0-2",""},
214  {"Autosar: A11-3-1",""},
215  {"Autosar: A13-2-1",""},
216  {"Autosar: A13-2-3",""},
217  {"Autosar: A13-5-2",""},
218  {"Autosar: A13-5-5",""},
219  {"Autosar: A15-1-2",""},
220  {"Autosar: A15-3-5",""},
221  {"Autosar: A16-6-1",""},
222  {"Autosar: A16-7-1",""},
223  {"Autosar: A18-0-3",""},
224  {"Autosar: A18-1-1",""},
225  {"Autosar: A18-1-2",""},
226  {"Autosar: A18-1-3",""},
227  {"Autosar: A18-5-1",""},
228  {"Autosar: A18-9-1",""},
229  {"Autosar: A2-11-1",""},
230  {"Autosar: A2-13-1",""},
231  {"Autosar: A2-13-3",""},
232  {"Autosar: A2-13-5",""},
233  {"Autosar: A2-13-6",""},
234  {"Autosar: A2-5-2",""},
235  {"Autosar: A20-8-2","warning"},
236  {"Autosar: A20-8-3","warning"},
237  {"Autosar: A20-8-4",""},
238  {"Autosar: A20-8-5",""},
239  {"Autosar: A20-8-6",""},
240  {"Autosar: A21-8-1","warning"},
241  {"Autosar: A23-0-1",""},
242  {"Autosar: A25-1-1","warning"},
243  {"Autosar: A25-4-1","warning"},
244  {"Autosar: A26-5-1",""},
245  {"Autosar: A26-5-2",""},
246  {"Autosar: A27-0-1","warning"},
247  {"Autosar: A27-0-2",""},
248  {"Autosar: A27-0-4",""},
249  {"Autosar: A3-1-3",""},
250  {"Autosar: A3-1-4",""},
251  {"Autosar: A3-3-1",""},
252  {"Autosar: A4-10-1",""},
253  {"Autosar: A4-7-1",""},
254  {"Autosar: A5-0-2",""},
255  {"Autosar: A5-0-3",""},
256  {"Autosar: A5-0-4",""},
257  {"Autosar: A5-1-1",""},
258  {"Autosar: A5-1-2",""},
259  {"Autosar: A5-1-3",""},
260  {"Autosar: A5-1-6",""},
261  {"Autosar: A5-1-7",""},
262  {"Autosar: A5-16-1",""},
263  {"Autosar: A5-2-1",""},
264  {"Autosar: A5-2-4",""},
265  {"Autosar: A6-5-3",""},
266  {"Autosar: A7-1-4",""},
267  {"Autosar: A7-1-6",""},
268  {"Autosar: A7-1-7",""},
269  {"Autosar: A8-4-1",""},
270  {"Autosar: A8-5-3",""},
271  {"Autosar: A9-3-1",""},
272  {"Cert C++: CON51-CPP",""},
273  {"Cert C++: CON52-CPP",""},
274  {"Cert C++: CON53-CPP",""},
275  {"Cert C++: CON54-CPP",""},
276  {"Cert C++: CON55-CPP",""},
277  {"Cert C++: CON56-CPP",""},
278  {"Cert C++: CTR50-CPP",""},
279  {"Cert C++: CTR52-CPP",""},
280  {"Cert C++: CTR53-CPP",""},
281  {"Cert C++: CTR56-CPP",""},
282  {"Cert C++: CTR57-CPP","warning"},
283  {"Cert C++: CTR58-CPP","warning"},
284  {"Cert C++: DCL50-CPP",""},
285  {"Cert C++: DCL51-CPP",""},
286  {"Cert C++: DCL52-CPP",""},
287  {"Cert C++: DCL53-CPP",""},
288  {"Cert C++: DCL54-CPP",""},
289  {"Cert C++: DCL56-CPP",""},
290  {"Cert C++: DCL58-CPP",""},
291  {"Cert C++: DCL59-CPP",""},
292  {"Cert C++: ERR50-CPP",""},
293  {"Cert C++: ERR51-CPP",""},
294  {"Cert C++: ERR52-CPP",""},
295  {"Cert C++: ERR53-CPP",""},
296  {"Cert C++: ERR54-CPP",""},
297  {"Cert C++: ERR55-CPP",""},
298  {"Cert C++: ERR56-CPP",""},
299  {"Cert C++: ERR58-CPP",""},
300  {"Cert C++: ERR59-CPP","warning"},
301  {"Cert C++: ERR60-CPP","warning"},
302  {"Cert C++: ERR61-CPP",""},
303  {"Cert C++: ERR62-CPP",""},
304  {"Cert C++: EXP50-CPP",""},
305  {"Cert C++: EXP51-CPP",""},
306  {"Cert C++: EXP55-CPP",""},
307  {"Cert C++: EXP56-CPP",""},
308  {"Cert C++: EXP57-CPP",""},
309  {"Cert C++: EXP58-CPP",""},
310  {"Cert C++: EXP59-CPP",""},
311  {"Cert C++: FIO51-CPP",""},
312  {"Cert C++: INT50-CPP",""},
313  {"Cert C++: MEM52-CPP",""},
314  {"Cert C++: MEM53-CPP",""},
315  {"Cert C++: MEM54-CPP",""},
316  {"Cert C++: MEM55-CPP",""},
317  {"Cert C++: MEM57-CPP",""},
318  {"Cert C++: MSC50-CPP",""},
319  {"Cert C++: MSC51-CPP",""},
320  {"Cert C++: MSC53-CPP",""},
321  {"Cert C++: MSC54-CPP",""},
322  {"Cert C++: OOP51-CPP",""},
323  {"Cert C++: OOP55-CPP",""},
324  {"Cert C++: OOP56-CPP",""},
325  {"Cert C++: OOP57-CPP",""},
326  {"Cert C++: OOP58-CPP",""},
327  {"Cert C++: STR50-CPP",""},
328  {"Cert C++: STR53-CPP",""},
329  {"Cert C: ARR30-C",""},
330  {"Cert C: ARR32-C",""},
331  {"Cert C: ARR37-C",""},
332  {"Cert C: ARR38-C",""},
333  {"Cert C: ARR39-C",""},
334  {"Cert C: CON30-C",""},
335  {"Cert C: CON31-C",""},
336  {"Cert C: CON32-C",""},
337  {"Cert C: CON33-C",""},
338  {"Cert C: CON34-C",""},
339  {"Cert C: CON35-C",""},
340  {"Cert C: CON36-C",""},
341  {"Cert C: CON37-C",""},
342  {"Cert C: CON38-C",""},
343  {"Cert C: CON39-C",""},
344  {"Cert C: CON40-C",""},
345  {"Cert C: CON41-C",""},
346  {"Cert C: DCL31-C",""},
347  {"Cert C: DCL36-C",""},
348  {"Cert C: DCL37-C",""},
349  {"Cert C: DCL38-C",""},
350  {"Cert C: DCL39-C",""},
351  {"Cert C: DCL40-C",""},
352  {"Cert C: DCL41-C",""},
353  {"Cert C: ENV30-C",""},
354  {"Cert C: ENV31-C",""},
355  {"Cert C: ENV32-C",""},
356  {"Cert C: ENV33-C",""},
357  {"Cert C: ENV34-C",""},
358  {"Cert C: ERR30-C",""},
359  {"Cert C: ERR32-C",""},
360  {"Cert C: ERR33-C",""},
361  {"Cert C: EXP32-C",""},
362  {"Cert C: EXP35-C",""},
363  {"Cert C: EXP36-C",""},
364  {"Cert C: EXP37-C",""},
365  {"Cert C: EXP39-C",""},
366  {"Cert C: EXP40-C",""},
367  {"Cert C: EXP42-C",""},
368  {"Cert C: EXP43-C",""},
369  {"Cert C: EXP45-C",""},
370  {"Cert C: FIO30-C",""},
371  {"Cert C: FIO32-C",""},
372  {"Cert C: FIO34-C",""},
373  {"Cert C: FIO37-C",""},
374  {"Cert C: FIO38-C",""},
375  {"Cert C: FIO40-C",""},
376  {"Cert C: FIO41-C",""},
377  {"Cert C: FIO44-C",""},
378  {"Cert C: FIO45-C",""},
379  {"Cert C: FLP30-C",""},
380  {"Cert C: FLP36-C","portability"},
381  {"Cert C: FLP37-C",""},
382  {"Cert C: INT30-C",""},
383  {"Cert C: INT31-C",""},
384  {"Cert C: INT32-C",""},
385  {"Cert C: INT33-C",""},
386  {"Cert C: INT34-C",""},
387  {"Cert C: INT35-C",""},
388  {"Cert C: INT36-C",""},
389  {"Cert C: MEM33-C",""},
390  {"Cert C: MEM35-C",""},
391  {"Cert C: MEM36-C",""},
392  {"Cert C: MSC30-C",""},
393  {"Cert C: MSC32-C",""},
394  {"Cert C: MSC33-C",""},
395  {"Cert C: MSC38-C",""},
396  {"Cert C: MSC39-C",""},
397  {"Cert C: MSC40-C",""},
398  {"Cert C: PRE31-C",""},
399  {"Cert C: SIG30-C",""},
400  {"Cert C: SIG31-C",""},
401  {"Cert C: SIG34-C",""},
402  {"Cert C: SIG35-C",""},
403  {"Cert C: STR31-C",""},
404  {"Cert C: STR32-C",""},
405  {"Cert C: STR34-C",""},
406  {"Cert C: STR38-C",""},
407  {"Misra C++ 2008: M0-1-11",""},
408  {"Misra C++ 2008: M0-1-12",""},
409  {"Misra C++ 2008: M0-1-4",""},
410  {"Misra C++ 2008: M0-1-5",""},
411  {"Misra C++ 2008: M0-1-7",""},
412  {"Misra C++ 2008: M0-1-8",""},
413  {"Misra C++ 2008: M0-3-2",""},
414  {"Misra C++ 2008: M1-0-1","portability"},
415  {"Misra C++ 2008: M10-1-1",""},
416  {"Misra C++ 2008: M10-1-2",""},
417  {"Misra C++ 2008: M10-1-3",""},
418  {"Misra C++ 2008: M10-2-1",""},
419  {"Misra C++ 2008: M10-3-1",""},
420  {"Misra C++ 2008: M10-3-2",""},
421  {"Misra C++ 2008: M10-3-3",""},
422  {"Misra C++ 2008: M11-0-1",""},
423  {"Misra C++ 2008: M12-1-2",""},
424  {"Misra C++ 2008: M12-8-1",""},
425  {"Misra C++ 2008: M12-8-2",""},
426  {"Misra C++ 2008: M14-5-1","warning"},
427  {"Misra C++ 2008: M14-5-2","warning"},
428  {"Misra C++ 2008: M14-5-3","warning"},
429  {"Misra C++ 2008: M14-6-1","warning"},
430  {"Misra C++ 2008: M14-6-2","warning"},
431  {"Misra C++ 2008: M14-7-1",""},
432  {"Misra C++ 2008: M14-7-2",""},
433  {"Misra C++ 2008: M14-7-3",""},
434  {"Misra C++ 2008: M14-8-1",""},
435  {"Misra C++ 2008: M14-8-2",""},
436  {"Misra C++ 2008: M15-0-3",""},
437  {"Misra C++ 2008: M15-1-1",""},
438  {"Misra C++ 2008: M15-1-2",""},
439  {"Misra C++ 2008: M15-1-3",""},
440  {"Misra C++ 2008: M15-3-2","warning"},
441  {"Misra C++ 2008: M15-3-3",""},
442  {"Misra C++ 2008: M15-3-4",""},
443  {"Misra C++ 2008: M15-3-6",""},
444  {"Misra C++ 2008: M15-3-7",""},
445  {"Misra C++ 2008: M15-4-1",""},
446  {"Misra C++ 2008: M15-5-2",""},
447  {"Misra C++ 2008: M16-0-1",""},
448  {"Misra C++ 2008: M16-0-2",""},
449  {"Misra C++ 2008: M16-0-3",""},
450  {"Misra C++ 2008: M16-0-4",""},
451  {"Misra C++ 2008: M16-0-6",""},
452  {"Misra C++ 2008: M16-0-7",""},
453  {"Misra C++ 2008: M16-0-8",""},
454  {"Misra C++ 2008: M16-1-1",""},
455  {"Misra C++ 2008: M16-1-2",""},
456  {"Misra C++ 2008: M16-2-1",""},
457  {"Misra C++ 2008: M16-2-2",""},
458  {"Misra C++ 2008: M16-2-3",""},
459  {"Misra C++ 2008: M16-2-4",""},
460  {"Misra C++ 2008: M16-2-5",""},
461  {"Misra C++ 2008: M16-2-6",""},
462  {"Misra C++ 2008: M16-3-1",""},
463  {"Misra C++ 2008: M16-3-2",""},
464  {"Misra C++ 2008: M17-0-1",""},
465  {"Misra C++ 2008: M17-0-2",""},
466  {"Misra C++ 2008: M17-0-3",""},
467  {"Misra C++ 2008: M17-0-5",""},
468  {"Misra C++ 2008: M18-0-1",""},
469  {"Misra C++ 2008: M18-0-2",""},
470  {"Misra C++ 2008: M18-0-3",""},
471  {"Misra C++ 2008: M18-0-4",""},
472  {"Misra C++ 2008: M18-0-5",""},
473  {"Misra C++ 2008: M18-2-1",""},
474  {"Misra C++ 2008: M18-4-1",""},
475  {"Misra C++ 2008: M18-7-1",""},
476  {"Misra C++ 2008: M19-3-1",""},
477  {"Misra C++ 2008: M2-10-1",""},
478  {"Misra C++ 2008: M2-10-3",""},
479  {"Misra C++ 2008: M2-10-4",""},
480  {"Misra C++ 2008: M2-10-5",""},
481  {"Misra C++ 2008: M2-10-6",""},
482  {"Misra C++ 2008: M2-13-2",""},
483  {"Misra C++ 2008: M2-13-3",""},
484  {"Misra C++ 2008: M2-13-4",""},
485  {"Misra C++ 2008: M2-13-5",""},
486  {"Misra C++ 2008: M2-3-1",""},
487  {"Misra C++ 2008: M2-7-1",""},
488  {"Misra C++ 2008: M2-7-2",""},
489  {"Misra C++ 2008: M2-7-3",""},
490  {"Misra C++ 2008: M27-0-1",""},
491  {"Misra C++ 2008: M3-1-1",""},
492  {"Misra C++ 2008: M3-1-2",""},
493  {"Misra C++ 2008: M3-1-3",""},
494  {"Misra C++ 2008: M3-2-1",""},
495  {"Misra C++ 2008: M3-3-1",""},
496  {"Misra C++ 2008: M3-3-2",""},
497  {"Misra C++ 2008: M3-9-1",""},
498  {"Misra C++ 2008: M3-9-2",""},
499  {"Misra C++ 2008: M3-9-3",""},
500  {"Misra C++ 2008: M4-10-1",""},
501  {"Misra C++ 2008: M4-10-2",""},
502  {"Misra C++ 2008: M4-5-1",""},
503  {"Misra C++ 2008: M4-5-2",""},
504  {"Misra C++ 2008: M4-5-3",""},
505  {"Misra C++ 2008: M5-0-10",""},
506  {"Misra C++ 2008: M5-0-11",""},
507  {"Misra C++ 2008: M5-0-12",""},
508  {"Misra C++ 2008: M5-0-14",""},
509  {"Misra C++ 2008: M5-0-15",""},
510  {"Misra C++ 2008: M5-0-2",""},
511  {"Misra C++ 2008: M5-0-20",""},
512  {"Misra C++ 2008: M5-0-21",""},
513  {"Misra C++ 2008: M5-0-3",""},
514  {"Misra C++ 2008: M5-0-4",""},
515  {"Misra C++ 2008: M5-0-5",""},
516  {"Misra C++ 2008: M5-0-6",""},
517  {"Misra C++ 2008: M5-0-7",""},
518  {"Misra C++ 2008: M5-0-8",""},
519  {"Misra C++ 2008: M5-0-9",""},
520  {"Misra C++ 2008: M5-14-1",""},
521  {"Misra C++ 2008: M5-17-1",""},
522  {"Misra C++ 2008: M5-18-1",""},
523  {"Misra C++ 2008: M5-19-1",""},
524  {"Misra C++ 2008: M5-2-1",""},
525  {"Misra C++ 2008: M5-2-10",""},
526  {"Misra C++ 2008: M5-2-11",""},
527  {"Misra C++ 2008: M5-2-12",""},
528  {"Misra C++ 2008: M5-2-2",""},
529  {"Misra C++ 2008: M5-2-3",""},
530  {"Misra C++ 2008: M5-2-5",""},
531  {"Misra C++ 2008: M5-2-6",""},
532  {"Misra C++ 2008: M5-2-7",""},
533  {"Misra C++ 2008: M5-2-8",""},
534  {"Misra C++ 2008: M5-2-9",""},
535  {"Misra C++ 2008: M5-3-1",""},
536  {"Misra C++ 2008: M5-3-2",""},
537  {"Misra C++ 2008: M5-3-3",""},
538  {"Misra C++ 2008: M6-2-1",""},
539  {"Misra C++ 2008: M6-2-2",""},
540  {"Misra C++ 2008: M6-2-3",""},
541  {"Misra C++ 2008: M6-3-1",""},
542  {"Misra C++ 2008: M6-4-1",""},
543  {"Misra C++ 2008: M6-4-2",""},
544  {"Misra C++ 2008: M6-4-3",""},
545  {"Misra C++ 2008: M6-4-4",""},
546  {"Misra C++ 2008: M6-4-5",""},
547  {"Misra C++ 2008: M6-4-6",""},
548  {"Misra C++ 2008: M6-4-7",""},
549  {"Misra C++ 2008: M6-4-8",""},
550  {"Misra C++ 2008: M6-5-1",""},
551  {"Misra C++ 2008: M6-5-2",""},
552  {"Misra C++ 2008: M6-5-3",""},
553  {"Misra C++ 2008: M6-5-4",""},
554  {"Misra C++ 2008: M6-5-5",""},
555  {"Misra C++ 2008: M6-5-6",""},
556  {"Misra C++ 2008: M6-6-1",""},
557  {"Misra C++ 2008: M6-6-2",""},
558  {"Misra C++ 2008: M6-6-3",""},
559  {"Misra C++ 2008: M6-6-4",""},
560  {"Misra C++ 2008: M6-6-5",""},
561  {"Misra C++ 2008: M7-2-1",""},
562  {"Misra C++ 2008: M7-3-1",""},
563  {"Misra C++ 2008: M7-3-2",""},
564  {"Misra C++ 2008: M7-3-3",""},
565  {"Misra C++ 2008: M7-3-4",""},
566  {"Misra C++ 2008: M7-3-5",""},
567  {"Misra C++ 2008: M7-3-6",""},
568  {"Misra C++ 2008: M7-4-2",""},
569  {"Misra C++ 2008: M7-4-3",""},
570  {"Misra C++ 2008: M7-5-3",""},
571  {"Misra C++ 2008: M8-0-1",""},
572  {"Misra C++ 2008: M8-3-1",""},
573  {"Misra C++ 2008: M8-4-4",""},
574  {"Misra C++ 2008: M8-5-2",""},
575  {"Misra C++ 2008: M8-5-3",""},
576  {"Misra C++ 2008: M9-3-1",""},
577  {"Misra C++ 2008: M9-5-1",""},
578  {"Misra C++ 2008: M9-6-2",""},
579  {"Misra C++ 2008: M9-6-3",""},
580  {"Misra C++ 2008: M9-6-4",""},
581  {"Misra C++ 2023: 0.2.1",""},
582  {"Misra C++ 2023: 10.0.1",""},
583  {"Misra C++ 2023: 10.1.2",""},
584  {"Misra C++ 2023: 10.2.1",""},
585  {"Misra C++ 2023: 10.2.2",""},
586  {"Misra C++ 2023: 10.2.3",""},
587  {"Misra C++ 2023: 10.4.1",""},
588  {"Misra C++ 2023: 11.3.1",""},
589  {"Misra C++ 2023: 11.6.1",""},
590  {"Misra C++ 2023: 11.6.3",""},
591  {"Misra C++ 2023: 12.2.1",""},
592  {"Misra C++ 2023: 13.1.1",""},
593  {"Misra C++ 2023: 13.3.1",""},
594  {"Misra C++ 2023: 13.3.2",""},
595  {"Misra C++ 2023: 13.3.3",""},
596  {"Misra C++ 2023: 13.3.4",""},
597  {"Misra C++ 2023: 14.1.1",""},
598  {"Misra C++ 2023: 15.0.1",""},
599  {"Misra C++ 2023: 15.0.2",""},
600  {"Misra C++ 2023: 15.1.3",""},
601  {"Misra C++ 2023: 15.1.5",""},
602  {"Misra C++ 2023: 17.8.1",""},
603  {"Misra C++ 2023: 18.4.1",""},
604  {"Misra C++ 2023: 18.5.2",""},
605  {"Misra C++ 2023: 19.3.2",""},
606  {"Misra C++ 2023: 19.3.3",""},
607  {"Misra C++ 2023: 21.20.1",""},
608  {"Misra C++ 2023: 21.20.2",""},
609  {"Misra C++ 2023: 21.6.3",""},
610  {"Misra C++ 2023: 21.6.4",""},
611  {"Misra C++ 2023: 21.6.5",""},
612  {"Misra C++ 2023: 22.3.1",""},
613  {"Misra C++ 2023: 22.4.1",""},
614  {"Misra C++ 2023: 24.5.1",""},
615  {"Misra C++ 2023: 24.5.2",""},
616  {"Misra C++ 2023: 25.5.1",""},
617  {"Misra C++ 2023: 25.5.2",""},
618  {"Misra C++ 2023: 25.5.3",""},
619  {"Misra C++ 2023: 28.6.1",""},
620  {"Misra C++ 2023: 28.6.2",""},
621  {"Misra C++ 2023: 30.0.2",""},
622  {"Misra C++ 2023: 4.1.1",""},
623  {"Misra C++ 2023: 4.1.2",""},
624  {"Misra C++ 2023: 5.13.2",""},
625  {"Misra C++ 2023: 5.13.5",""},
626  {"Misra C++ 2023: 5.13.6",""},
627  {"Misra C++ 2023: 5.7.3",""},
628  {"Misra C++ 2023: 6.4.2",""},
629  {"Misra C++ 2023: 6.4.3",""},
630  {"Misra C++ 2023: 6.7.1",""},
631  {"Misra C++ 2023: 6.7.2",""},
632  {"Misra C++ 2023: 6.8.3",""},
633  {"Misra C++ 2023: 6.8.4",""},
634  {"Misra C++ 2023: 6.9.1",""},
635  {"Misra C++ 2023: 6.9.2",""},
636  {"Misra C++ 2023: 7.0.1",""},
637  {"Misra C++ 2023: 7.0.2",""},
638  {"Misra C++ 2023: 7.0.3",""},
639  {"Misra C++ 2023: 7.0.5",""},
640  {"Misra C++ 2023: 7.0.6",""},
641  {"Misra C++ 2023: 8.1.1",""},
642  {"Misra C++ 2023: 8.2.11",""},
643  {"Misra C++ 2023: 8.2.2",""},
644  {"Misra C++ 2023: 8.2.3",""},
645  {"Misra C++ 2023: 8.2.4",""},
646  {"Misra C++ 2023: 8.2.8",""},
647  {"Misra C++ 2023: 8.2.9",""},
648  {"Misra C++ 2023: 8.3.2",""},
649  {"Misra C++ 2023: 9.2.1",""},
650  {"Misra C++ 2023: 9.5.1",""},
651  {"Misra C++ 2023: 9.5.2",""},
652  {"Misra C++ 2023: 9.6.1",""},
653  {"Misra C: 1.4",""},
654  {"Misra C: 1.5",""},
655  {"Misra C: 10.1",""},
656  {"Misra C: 10.2",""},
657  {"Misra C: 10.3",""},
658  {"Misra C: 10.4",""},
659  {"Misra C: 10.5",""},
660  {"Misra C: 10.6",""},
661  {"Misra C: 10.7",""},
662  {"Misra C: 10.8",""},
663  {"Misra C: 11.10",""},
664  {"Misra C: 12.3",""},
665  {"Misra C: 12.6",""},
666  {"Misra C: 13.1",""},
667  {"Misra C: 13.2",""},
668  {"Misra C: 13.3",""},
669  {"Misra C: 13.4",""},
670  {"Misra C: 13.5",""},
671  {"Misra C: 13.6",""},
672  {"Misra C: 15.5",""},
673  {"Misra C: 16.3",""},
674  {"Misra C: 17.10",""},
675  {"Misra C: 17.11",""},
676  {"Misra C: 17.12",""},
677  {"Misra C: 17.13",""},
678  {"Misra C: 17.3",""},
679  {"Misra C: 17.4",""},
680  {"Misra C: 17.9",""},
681  {"Misra C: 18.10",""},
682  {"Misra C: 18.5",""},
683  {"Misra C: 18.8",""},
684  {"Misra C: 18.9",""},
685  {"Misra C: 20.3",""},
686  {"Misra C: 21.1",""},
687  {"Misra C: 21.12",""},
688  {"Misra C: 21.16",""},
689  {"Misra C: 21.2",""},
690  {"Misra C: 21.22",""},
691  {"Misra C: 21.23",""},
692  {"Misra C: 21.24",""},
693  {"Misra C: 21.25","warning"},
694  {"Misra C: 21.26","warning"},
695  {"Misra C: 22.11",""},
696  {"Misra C: 22.12",""},
697  {"Misra C: 22.13",""},
698  {"Misra C: 22.14",""},
699  {"Misra C: 22.15",""},
700  {"Misra C: 22.16","warning"},
701  {"Misra C: 22.17","warning"},
702  {"Misra C: 22.18","warning"},
703  {"Misra C: 22.19","warning"},
704  {"Misra C: 22.20",""},
705  {"Misra C: 23.1",""},
706  {"Misra C: 23.2",""},
707  {"Misra C: 23.3",""},
708  {"Misra C: 23.4",""},
709  {"Misra C: 23.5",""},
710  {"Misra C: 23.6",""},
711  {"Misra C: 23.7",""},
712  {"Misra C: 23.8",""},
713  {"Misra C: 6.3",""},
714  {"Misra C: 7.5",""},
715  {"Misra C: 7.6",""},
716  {"Misra C: 8.1",""},
717  {"Misra C: 8.10",""},
718  {"Misra C: 8.15",""},
719  {"Misra C: 8.16",""},
720  {"Misra C: 8.17",""},
721  {"Misra C: 8.3",""},
722  {"Misra C: 8.4",""},
723  {"Misra C: 8.8",""},
724  {"Misra C: 9.6",""},
725  {"Misra C: 9.7",""},
726  {"PremiumCheckBufferOverrun::addressOfPointerArithmetic","warning"},
727  {"PremiumCheckBufferOverrun::negativeBufferSizeCheckedNonZero","warning"},
728  {"PremiumCheckBufferOverrun::negativeBufferSizeCheckedNonZero","warning"},
729  {"PremiumCheckHang::infiniteLoop",""},
730  {"PremiumCheckHang::infiniteLoopContinue",""},
731  {"PremiumCheckOther::arrayPointerComparison","style"},
732  {"PremiumCheckOther::knownResult","style"},
733  {"PremiumCheckOther::lossOfPrecision","style"},
734  {"PremiumCheckOther::pointerCast","style"},
735  {"PremiumCheckOther::reassignInLoop","style"},
736  {"PremiumCheckOther::unreachableCode","style"},
737  {"PremiumCheckStrictAlias::strictAliasCondition","warning"},
738  {"PremiumCheckUninitVar::uninitmember",""},
739  {"PremiumCheckUninitVar::uninitvar",""},
740  {"PremiumCheckUnusedVar::unreadVariable","style"},
741  {"PremiumCheckUnusedVar::unusedPrivateMember","style"}
742  };
743 
744  const char Req[] = "Required";
745  const char Adv[] = "Advisory";
746  const char Man[] = "Mandatory";
747 
748  const std::vector<MisraInfo> misraC2012Rules =
749  {
750  {1,1,Req,0},
751  {1,2,Adv,0},
752  {1,3,Req,0},
753  {1,4,Req,2}, // amendment 2
754  {1,5,Req,3}, // Amendment 3
755  {2,1,Req,0},
756  {2,2,Req,0},
757  {2,3,Adv,0},
758  {2,4,Adv,0},
759  {2,5,Adv,0},
760  {2,6,Adv,0},
761  {2,7,Adv,0},
762  {2,8,Adv,0},
763  {3,1,Req,0},
764  {3,2,Req,0},
765  {4,1,Req,0},
766  {4,2,Adv,0},
767  {5,1,Req,0},
768  {5,2,Req,0},
769  {5,3,Req,0},
770  {5,4,Req,0},
771  {5,5,Req,0},
772  {5,6,Req,0},
773  {5,7,Req,0},
774  {5,8,Req,0},
775  {5,9,Adv,0},
776  {6,1,Req,0},
777  {6,2,Req,0},
778  {6,3,Req,0},
779  {7,1,Req,0},
780  {7,2,Req,0},
781  {7,3,Req,0},
782  {7,4,Req,0},
783  {7,5,Man,0},
784  {7,6,Req,0},
785  {8,1,Req,0},
786  {8,2,Req,0},
787  {8,3,Req,0},
788  {8,4,Req,0},
789  {8,5,Req,0},
790  {8,6,Req,0},
791  {8,7,Adv,0},
792  {8,8,Req,0},
793  {8,9,Adv,0},
794  {8,10,Req,0},
795  {8,11,Adv,0},
796  {8,12,Req,0},
797  {8,13,Adv,0},
798  {8,14,Req,0},
799  {8,15,Req,0},
800  {8,16,Adv,0},
801  {8,17,Adv,0},
802  {9,1,Man,0},
803  {9,2,Req,0},
804  {9,3,Req,0},
805  {9,4,Req,0},
806  {9,5,Req,0},
807  {9,6,Req,0},
808  {9,7,Man,0},
809  {10,1,Req,0},
810  {10,2,Req,0},
811  {10,3,Req,0},
812  {10,4,Req,0},
813  {10,5,Adv,0},
814  {10,6,Req,0},
815  {10,7,Req,0},
816  {10,8,Req,0},
817  {11,1,Req,0},
818  {11,2,Req,0},
819  {11,3,Req,0},
820  {11,4,Adv,0},
821  {11,5,Adv,0},
822  {11,6,Req,0},
823  {11,7,Req,0},
824  {11,8,Req,0},
825  {11,9,Req,0},
826  {11,10,Req,0},
827  {12,1,Adv,0},
828  {12,2,Req,0},
829  {12,3,Adv,0},
830  {12,4,Adv,0},
831  {12,5,Man,1}, // amendment 1
832  {12,6,Req,4}, // amendment 4
833  {13,1,Req,0},
834  {13,2,Req,0},
835  {13,3,Adv,0},
836  {13,4,Adv,0},
837  {13,5,Req,0},
838  {13,6,Man,0},
839  {14,1,Req,0},
840  {14,2,Req,0},
841  {14,3,Req,0},
842  {14,4,Req,0},
843  {15,1,Adv,0},
844  {15,2,Req,0},
845  {15,3,Req,0},
846  {15,4,Adv,0},
847  {15,5,Adv,0},
848  {15,6,Req,0},
849  {15,7,Req,0},
850  {16,1,Req,0},
851  {16,2,Req,0},
852  {16,3,Req,0},
853  {16,4,Req,0},
854  {16,5,Req,0},
855  {16,6,Req,0},
856  {16,7,Req,0},
857  {17,1,Req,0},
858  {17,2,Req,0},
859  {17,3,Man,0},
860  {17,4,Man,0},
861  {17,5,Adv,0},
862  {17,6,Man,0},
863  {17,7,Req,0},
864  {17,8,Adv,0},
865  {17,9,Man,0},
866  {17,10,Req,0},
867  {17,11,Adv,0},
868  {17,12,Adv,0},
869  {17,13,Req,0},
870  {18,1,Req,0},
871  {18,2,Req,0},
872  {18,3,Req,0},
873  {18,4,Adv,0},
874  {18,5,Adv,0},
875  {18,6,Req,0},
876  {18,7,Req,0},
877  {18,8,Req,0},
878  {18,9,Req,0},
879  {18,10,Man,0},
880  {19,1,Man,0},
881  {19,2,Adv,0},
882  {20,1,Adv,0},
883  {20,2,Req,0},
884  {20,3,Req,0},
885  {20,4,Req,0},
886  {20,5,Adv,0},
887  {20,6,Req,0},
888  {20,7,Req,0},
889  {20,8,Req,0},
890  {20,9,Req,0},
891  {20,10,Adv,0},
892  {20,11,Req,0},
893  {20,12,Req,0},
894  {20,13,Req,0},
895  {20,14,Req,0},
896  {21,1,Req,0},
897  {21,2,Req,0},
898  {21,3,Req,0},
899  {21,4,Req,0},
900  {21,5,Req,0},
901  {21,6,Req,0},
902  {21,7,Req,0},
903  {21,8,Req,0},
904  {21,9,Req,0},
905  {21,10,Req,0},
906  {21,11,Req,0},
907  {21,12,Adv,0},
908  {21,13,Man,1}, // Amendment 1
909  {21,14,Req,1}, // Amendment 1
910  {21,15,Req,1}, // Amendment 1
911  {21,16,Req,1}, // Amendment 1
912  {21,17,Req,1}, // Amendment 1
913  {21,18,Man,1}, // Amendment 1
914  {21,19,Man,1}, // Amendment 1
915  {21,20,Man,1}, // Amendment 1
916  {21,21,Req,3}, // Amendment 3
917  {21,22,Man,3}, // Amendment 3
918  {21,23,Req,3}, // Amendment 3
919  {21,24,Req,3}, // Amendment 3
920  {21,25,Req,4}, // Amendment 4
921  {21,26,Req,4}, // Amendment 4
922  {22,1,Req,0},
923  {22,2,Man,0},
924  {22,3,Req,0},
925  {22,4,Man,0},
926  {22,5,Man,0},
927  {22,6,Man,0},
928  {22,7,Req,1}, // Amendment 1
929  {22,8,Req,1}, // Amendment 1
930  {22,9,Req,1}, // Amendment 1
931  {22,10,Req,1}, // Amendment 1
932  {22,11,Req,4}, // Amendment 4
933  {22,12,Man,4}, // Amendment 4
934  {22,13,Req,4}, // Amendment 4
935  {22,14,Man,4}, // Amendment 4
936  {22,15,Req,4}, // Amendment 4
937  {22,16,Req,4}, // Amendment 4
938  {22,17,Req,4}, // Amendment 4
939  {22,18,Req,4}, // Amendment 4
940  {22,19,Req,4}, // Amendment 4
941  {22,20,Man,4}, // Amendment 4
942  {23,1,Adv,3}, // Amendment 3
943  {23,2,Req,3}, // Amendment 3
944  {23,3,Adv,3}, // Amendment 3
945  {23,4,Req,3}, // Amendment 3
946  {23,5,Adv,3}, // Amendment 3
947  {23,6,Req,3}, // Amendment 3
948  {23,7,Adv,3}, // Amendment 3
949  {23,8,Req,3}, // Amendment 3
950  };
951 
952  const std::map<std::string, std::string> misraRuleSeverity{
953  {"1.1", "error"}, //{"syntaxError", "unknownMacro"}},
954  {"1.3", "error"}, //most "error"
955  {"2.1", "style"}, //{"alwaysFalse", "duplicateBreak"}},
956  {"2.2", "style"}, //{"alwaysTrue", "redundantCondition", "redundantAssignment", "redundantAssignInSwitch", "unreadVariable"}},
957  {"2.6", "style"}, //{"unusedLabel"}},
958  {"2.8", "style"}, //{"unusedVariable"}},
959  {"5.3", "style"}, //{"shadowVariable"}},
960  {"8.3", "style"}, //{"funcArgNamesDifferent"}}, // inconclusive
961  {"8.13", "style"}, //{"constPointer"}},
962  {"9.1", "error"}, //{"uninitvar"}},
963  {"14.3", "style"}, //{"alwaysTrue", "alwaysFalse", "compareValueOutOfTypeRangeError", "knownConditionTrueFalse"}},
964  {"13.2", "error"}, //{"unknownEvaluationOrder"}},
965  {"13.6", "style"}, //{"sizeofCalculation"}},
966  {"17.4", "error"}, //{"missingReturn"}},
967  {"17.5", "warning"}, //{"argumentSize"}},
968  {"18.1", "error"}, //{"pointerOutOfBounds"}},
969  {"18.2", "error"}, //{"comparePointers"}},
970  {"18.3", "error"}, //{"comparePointers"}},
971  {"18.6", "error"}, //{"danglingLifetime"}},
972  {"19.1", "error"}, //{"overlappingWriteUnion", "overlappingWriteFunction"}},
973  {"20.6", "error"}, //{"preprocessorErrorDirective"}},
974  {"21.13", "error"}, //{"invalidFunctionArg"}},
975  {"21.17", "error"}, //{"bufferAccessOutOfBounds"}},
976  {"21.18", "error"}, //{"bufferAccessOutOfBounds"}},
977  {"22.1", "error"}, //{"memleak", "resourceLeak", "memleakOnRealloc", "leakReturnValNotUsed", "leakNoVarFunctionCall"}},
978  {"22.2", "error"}, //{"autovarInvalidDeallocation"}},
979  {"22.3", "error"}, //{"incompatibleFileOpen"}},
980  {"22.4", "error"}, //{"writeReadOnlyFile"}},
981  {"22.6", "error"}, //{"useClosedFile"}}
982  };
983 }
const char Req[]
Definition: checkers.cpp:744
const std::vector< MisraInfo > misraC2012Rules
Definition: checkers.cpp:748
const char Adv[]
Definition: checkers.cpp:745
const std::map< std::string, std::string > premiumCheckers
Definition: checkers.cpp:207
const std::map< std::string, std::string > misraRuleSeverity
Definition: checkers.cpp:952
const std::map< std::string, std::string > allCheckers
Definition: checkers.cpp:25
const char Man[]
Definition: checkers.cpp:746