Kyle Chisholm
6ce3571bdd
Add --suppress-rules argument for misra.py ( #1259 )
...
* Added ignore list
- Added ignore list
- Use argparse to parse arguments
- Source formatting
* misra.py changed argument name
- Changed ` --ignore-rules` to ` --suppress-rules`
* Resolved VERIFY option in misra.py
Resolved broken broken logic in commit to add argparse.
* edit suppression list
Modified names
Hide some arguments
* command line help formatting
* Revert removal of --no-summary argument
* missing text rules no longer reported
* VERIFY scope modified to global
2018-05-24 06:31:20 +02:00
Daniel Marjamäki
9f47d04af6
misra.py: add rule 10.1, partial checking
2018-05-23 16:26:00 +02:00
Swasti Shrivastava
ea5417b8af
Modified rule 11.9 ( #1262 )
2018-05-23 15:48:07 +02:00
Swasti Shrivastava
8daa8520ba
Modified rule 11.6 ( #1261 )
2018-05-23 12:50:35 +02:00
Swasti Shrivastava
684c18f657
Modified rule 11.3 and 11.7 ( #1260 )
...
* Modified rule 11.3 and 11.7
* Changed if to elif
2018-05-23 10:14:17 +02:00
Swasti Shrivastava
c73dc63537
Modified rule 11.5 ( #1256 )
2018-05-22 14:32:00 +02:00
Daniel Marjamäki
5505cbac26
misra.py: fixed fix for fp so that struct initializers are handled also
2018-05-22 13:27:27 +02:00
Daniel Marjamäki
dbe2a42e89
misra.py: Fixed 13.1 fp for struct initialization
2018-05-22 13:11:39 +02:00
Swasti Shrivastava
c511b3de20
Modified rule 11.4 ( #1252 )
...
* Modified rule 11.4
* Made changes in isEnum()
* Made suggested changes in isEnum()
2018-05-22 09:07:48 +02:00
Richard A. Smith
01cbadc6ed
Add --quiet flag to misra.py for cleaner output ( #1254 )
...
Output will still be given for style violations.
This allows the build process output to be smaller and cleaner,
making it easier to spot and address problems.
2018-05-21 21:46:58 +02:00
Swasti Shrivastava
f78314b613
Updated rule 10 4 ( #1251 )
...
* Updated rule 10.4
* Updated rule 10.4
* updated rule 10.4 along with test suite
2018-05-21 12:04:20 +02:00
Richard A. Smith
e4f10bce6d
Show summary of violations ( #1244 )
...
- Show a summary of the of the number of violations. This can be
disabled with the --no-summary option.
- Return an error code if -verify flag not used and violation exists.
2018-05-20 14:48:01 +02:00
Swasti Shrivastava
00970274b2
Added rule 21.6 and 21.10 ( #1243 )
2018-05-20 14:44:12 +02:00
Richard A. Smith
672d0433a4
Allow per project misra.py addon ( #1241 )
...
Use python's __file__ variable to figure out where the checker script is
located.
This allows a customized per project scripts to be used instead of the
one provided in the cppcheck release.
2018-05-20 14:42:25 +02:00
Richard A. Smith
a26d73f78f
Fix false positive in misra.py rule 20.14 ( #1240 )
...
MISRA rule 20.14 is not limited to #if pragmas and also extends to
positives whenever #ifdef/#ifndef is used.
2018-05-20 08:31:59 +02:00
Swasti Shrivastava
248e2ef2f8
Modified rule 7.3 ( #1232 )
2018-05-16 12:04:02 +02:00
Swasti Shrivastava
92fd7d9343
Modified rule 5.1 along with test suite ( #1231 )
...
* Modified rule 5.1 along with test suite
* Modified variable name in misra-test.c
* Modified rule 5.1 along with test suite
* Changed variable name
2018-05-16 11:07:44 +02:00
Swasti Shrivastava
bb7ffd123d
Modified rule 8.12 ( #1233 )
2018-05-15 13:18:55 +02:00
Matthias Krüger
4c8bb9ac6f
fix a few typos
2018-05-14 13:11:59 +02:00
Swasti Shrivastava
4b873ed573
Rule 5.3 modified along with test suite ( #1227 )
...
* Added rule 5.2
* updated 5.2
request-checks: true
* Added rule 5.3
* Changed rule 5.4, 5.5
* Updated test suite for Rule 5.2
* Changes in Rule 5.4 and 5.5
* Change in function name in test suite and removed type from class token in cppcheck
* Changed the name of function in misra-test.c
* Modified rule 5.3
* Modified misra-test.c for rule 5.3
2018-05-14 13:09:38 +02:00
swasti16
4956b89506
Changes in misra c rule 5.4 and 5.5 ( #1219 )
...
* Added rule 5.2
* updated 5.2
request-checks: true
* Added rule 5.3
* Changed rule 5.4, 5.5
* Updated test suite for Rule 5.2
* Changes in Rule 5.4 and 5.5
* Change in function name in test suite and removed type from class token in cppcheck
* Changed the name of function in misra-test.c
2018-05-11 14:57:08 +02:00
orbitcowboy
c39e3467a4
misra.py: Rule 21.8, added missing exit() function.
2018-05-09 16:48:49 +02:00
orbitcowboy
bcae3ce9d4
misra.py: State that Cppcheck already covers rule 22.4 with error-id: 'writeReadOnlyFile'.
2018-05-09 13:51:14 +02:00
swasti16
d934065d21
Added rule 5.2 ( #1212 )
...
* Added rule 5.2
* updated 5.2
request-checks: true
* Updated test suite for Rule 5.2
2018-05-08 20:41:45 +02:00
Markus Elfring
58ebc64b2f
Using compiled regular expressions for MISRA check functions ( #1208 )
...
The method “match” was used as a module-level function in for loops
of implementations for MISRA check functions so far.
Use compiled regular expression objects instead.
Link: https://trac.cppcheck.net/ticket/8547
Signed-off-by: Markus Elfring <elfring@users.sourceforge.net>
2018-05-07 22:19:39 +02:00
Daniel Marjamäki
286e300c6f
misra: fix test assertion
2018-05-04 22:30:24 +02:00
Daniel Marjamäki
904e9149bf
misra: fix 16.3 false negative for conditional break
2018-05-04 22:27:45 +02:00
Daniel Marjamäki
8be593db8f
misra: fixed false negatives
2018-05-04 22:18:22 +02:00
Daniel Marjamäki
53e3217254
misra: updated 20.14
2018-05-04 06:37:02 +02:00
Daniel Marjamäki
8b42706158
misra: Added check for rule 20.13
2018-05-03 22:53:06 +02:00
Daniel Marjamäki
274d56d0aa
misra: Added 20.14 rule
2018-05-03 22:41:12 +02:00
Daniel Marjamäki
493e243c0b
misra: fix fp in 16.6
2018-05-03 10:59:09 +02:00
Daniel Marjamäki
2a9ee563c2
misra: avoid fp for essentially boolean conditions when bitfield member is used
2018-05-02 20:56:03 +02:00
Daniel Marjamäki
fce7a0a128
dump: add Function::type
2018-04-30 16:52:51 +02:00
Daniel Marjamäki
2f18fbabaa
Addons: Renamed classStart/classEnd to match SymbolDatabase
2018-04-28 23:06:54 +02:00
Daniel Marjamäki
975be66c63
String concatenation in array: Improved handling of macros
2018-04-28 23:01:29 +02:00
rebnridgway
995b496ddf
Add suppressions to the XML dump ( #1166 )
...
* Added parsing suppressions from dump xml.
* Added code to dump suppressions to an xml file
* Added declaration for dump function
* Suppressions will now be written to the xml file when a dump is requested
* Fixed syntax error
* Removed excess whitespace
* Fixed indentation to be consistent
* Fixed indentation to be consistent
* Fixed indentation to be consistent
* Added missing include for ErrorLogger::toXml
* Fixed suggestions from pull request #1166
Switched to using ranged for loop to iterate through suppressions.
Made the line number attribute optional, rather than 0 if not specified. This means when Python deserialises it it will be None, which is more pythonic.
* Implemented checking suppressions in reportError
This modification expects suppressions and a function to be called to write a line of output to be passed in. The function checks if any of the suppressions match the warning (with the new Suppression.isMatch function) and if so returns None. This change maintains the old behaviour of returning the warning text, but adds the possibility of returning None if the warning was suppressed.
* Fixed code quality warnings
* Removed more extraneous whitespace
2018-04-24 22:19:24 +02:00
Daniel Marjamäki
5e31911fcd
misra.py: fix false positives in 16.3 for unconditional blocks of code
2018-04-24 09:28:24 +02:00
Daniel Marjamäki
86a9deffbf
misc.py: removed bailouts
2018-04-20 08:18:49 +02:00
Daniel Marjamäki
3c48e08e6c
misc.py: write debug message when valueType is None
2018-04-19 22:23:34 +02:00
Daniel Marjamäki
fb89c987b0
misra.py: Improved 'isBoolExpression'
2018-04-18 16:20:54 +02:00
Daniel Marjamäki
f94a2b0019
misra.py: cppcheck handle rule 20.6
2018-04-17 08:15:36 +02:00
Daniel Marjamäki
d181e98d02
misc.py: Added experimental ellipsisStructArg checker that warns when struct is passed to ellipsis function
2018-04-16 13:55:12 +02:00
Daniel Marjamäki
194b4096c2
renamed misc test file since it has c++ code
2018-04-16 13:17:47 +02:00
Daniel Marjamäki
d65f00fe2e
misc.py: Add check for implicitly virtual functions
2018-04-16 13:16:53 +02:00
Daniel Marjamäki
9579b12be9
misc.py: fixed FP
2018-04-16 12:55:27 +02:00
Daniel Marjamäki
19591298f1
misc.py: Fixed FP for string concatenation
2018-04-16 10:53:29 +02:00
Daniel Marjamäki
7031cc7e22
misc.py: Add addon for some misc checkers
2018-04-13 22:19:47 +02:00
Daniel Marjamäki
97c86ff0e6
Dumps: Added isVirtual/isImplicitlyVirtual info
2018-04-13 21:15:43 +02:00
Daniel Marjamäki
8f21ba91e3
cert.py: Fix FP
2018-04-12 20:23:50 +02:00
Daniel Marjamäki
1767fe525b
Addons: Fixed handling of noname arguments
2018-04-10 11:10:10 +02:00
Sebastian
d46e4c1df6
misra.py: Typo in number of rules (comment) ( #1150 )
...
I have no copy of the misra pdf but according to
https://sourceforge.net/p/cppcheck/discussion/general/thread/ccbe9e89/#a6ab
and the number of lines/rules printed by misra.py -generate-table i
guess 143 is really the correct number of rules.
2018-04-10 08:55:25 +02:00
Daniel Marjamäki
97b17d50aa
cert.py: fixed fp in exp05 for non-pointer casts
2018-04-03 15:12:01 +02:00
Daniel Marjamäki
d31ba0ca02
misra.py: updated 11.8
2018-04-03 15:11:25 +02:00
Daniel Marjamäki
2db7c6e1a3
cert.py: Add rule EXP-05: do not cast away const
2018-04-03 13:35:19 +02:00
Daniel Marjamäki
1270ae2ad8
cppcheckdata: fixed loading of function data
2018-04-03 13:20:21 +02:00
Daniel Marjamäki
4a36520af2
misra.py: reformatting -generate-table output
2018-04-02 13:04:44 +02:00
Daniel Marjamäki
15218b388f
misra.py: Add -generate-table option that shows what rules are implemented
2018-03-31 12:52:00 +02:00
Daniel Marjamäki
ed8fda571b
misra.py: Add rule 4.1
2018-03-31 12:17:55 +02:00
Daniel Marjamäki
588ec80122
misra: the user must provide the rule texts in text file.
2018-03-24 13:28:40 +01:00
amai
ed25e21929
Set executable bit for addons/ python scripts
2018-03-20 20:54:59 +01:00
Daniel Marjamäki
480d84d69c
Fixed #8441 (MISRA Addon: FP 12.3 issued for initializer lists)
2018-03-18 22:05:31 +01:00
amai2012
449dcc15e8
Add links to external references
2018-03-16 08:12:39 +01:00
Daniel Marjamäki
1110cd0c57
misra.py: updated parsing of misra-rules.txt
2018-03-14 23:00:17 +01:00
Daniel Marjamäki
c74b0934e9
misra.py: assume that '0' and '1' have essentially boolean types
2018-03-14 14:54:05 +01:00
Daniel Marjamäki
b8d0da31de
threadsafety.py: warn for local static non-class variables also
2018-03-14 11:55:01 +01:00
Daniel Marjamäki
08ee5709ed
misra.py: updated 17.1 to catch non-compliant code in example suite
2018-03-14 09:41:23 +01:00
Daniel Marjamäki
348232a599
misra.py: catch all 15.6 bugs in misra exemplar suite
2018-03-13 14:22:25 +01:00
Daniel Marjamäki
49c8e42b30
misra.py: Clarify code for switch case fallthrough
2018-03-13 13:14:26 +01:00
Daniel Marjamäki
caf0789ab3
misra.py: updated -verify behaviour, print all errors seen and not just the first
2018-03-12 15:51:41 +01:00
Daniel Marjamäki
a705391054
misra.py: minor update
2018-03-12 15:47:06 +01:00
Daniel Marjamäki
77318d0e14
misra.py: updated 16.3 code
2018-03-12 15:16:57 +01:00
Daniel Marjamäki
f10d170ad3
misra addon: handle [[fallthrough]] attribute
2018-03-12 13:43:23 +01:00
Jonathan Clohessy
589cc6049d
Modified misra.py to fix issue introduced during last change ( #1101 )
...
Added additional elif confition to cause error checks to ignore .dump files
Previous change meant that .dump always falls into else statement and script exits
2018-02-26 22:08:22 +01:00
Daniel Marjamäki
21bb973702
Removed code metrics addon
2018-02-18 11:17:54 +01:00
Daniel Marjamäki
0e6e8ecda1
addons/metrics.py: count comments
2018-02-17 17:31:59 +01:00
Daniel Marjamäki
5db9345a08
addons/metrics: Add simple script for generating some metrics
2018-02-17 14:59:40 +01:00
Daniel Marjamäki
7f616a1805
misra.py: Add error handling when there are missing files, wrong arguments, etc
2018-02-17 07:39:37 +01:00
Daniel Marjamäki
6e8184f7cc
cert.py: Added test for EXP46
2018-01-23 22:43:29 +01:00
Daniel Marjamäki
8eae9cdd60
cert.py: Added testcases for EXP42 and fixed the code a little
2018-01-23 17:18:47 +01:00
amai2012
fcbe88ad2f
Move test files to subfolder
2018-01-23 11:33:13 +01:00
Daniel Marjamäki
55b3004000
misra.py: minor tweaks
2018-01-21 10:39:18 +01:00
Daniel Marjamäki
6f2d4361df
Misra: Integration of MISRA in the GUI. The misra addon can now extract the rule texts from the PDF.
2018-01-20 14:13:09 +01:00
orbitcowboy
5a333dfa17
addons:y2038:README: fixed typos.
2017-11-07 11:14:09 +01:00
KMilhan
76c3cef4d6
MISRA 15.7 only checks if...else if constructs ( #983 )
2017-10-26 08:47:53 +02:00
Daniel Marjamäki
438b1ccb91
cert.py: update cert-INT31-C checker
2017-10-16 13:35:07 +02:00
Daniel Marjamäki
8a8339274b
cert.py: add testfile
2017-10-15 16:18:29 +02:00
Daniel Marjamäki
56ceb5a58c
cert.py: Added INT-31-C check, ensure that integer conversions do not result in lost or misinterpreted data
2017-10-14 22:24:24 +02:00
Daniel Marjamäki
243960eb8a
Revert "Remove MISRA addon before the release of 1.81"
...
This reverts commit 9baefd8687
.
2017-10-09 15:25:55 +02:00
Daniel Marjamäki
773cc07d44
cppcheckdata.py: parsing of NULL pointers from VS 32-bit and 64-bit
2017-10-07 22:44:35 +02:00
Daniel Marjamäki
9baefd8687
Remove MISRA addon before the release of 1.81
2017-10-07 13:38:21 +02:00
KMilhan
8b509a158f
Make MISRA C 2012 12.2 work on C++ ( #946 )
2017-08-31 16:06:46 +02:00
Daniel Marjamäki
b7af13ce63
cert.py: reformat output again
2017-08-15 21:44:43 +02:00
Daniel Marjamäki
2ca46ceae9
threadsafety.py: reformat output
2017-08-15 21:44:21 +02:00
Daniel Marjamäki
256adfbcb5
cert.py: Reformatting output
2017-08-15 20:34:54 +02:00
Daniel Marjamäki
051fb55e2c
misra.py: Reformatting output
2017-08-15 20:34:44 +02:00
Daniel Marjamäki
bb5b18cf7e
Revert "Remove MISRA addon before the release of 1.80"
...
This reverts commit 2ecf47c328
.
2017-07-29 16:28:57 +02:00
Daniel Marjamäki
2ecf47c328
Remove MISRA addon before the release of 1.80
2017-07-29 10:04:54 +02:00
Ayaz Salikhov
2e6a22e882
Improve Python code
2017-07-22 11:05:50 +02:00
Ayaz Salikhov
3dc4188292
Improve Python code
2017-06-05 13:23:00 +02:00
Ayaz Salikhov
2dd6168258
Improve Python code
2017-06-04 22:51:48 +02:00
Daniel Marjamäki
39d55a6f6e
Revert "Temporarily remove MISRA addon"
...
This reverts commit b85150d45a
.
2017-05-13 15:03:29 +02:00
Daniel Marjamäki
b85150d45a
Temporarily remove MISRA addon
2017-05-13 10:55:10 +02:00
Daniel Marjamäki
2b80f17714
y2038: fix problems
2017-04-19 06:46:53 +02:00
Daniel Marjamäki
82a68858ef
Misra: Add rule 3.1
2017-04-18 20:47:11 +02:00
Daniel Marjamäki
ea67086da4
Misra: Fix crash in rule 10.6 for bad AST
2017-04-18 19:57:49 +02:00
Daniel Marjamäki
f707eceb20
Misra: Fix endless loop in rule 5.3
2017-04-18 19:54:43 +02:00
Daniel Marjamäki
ce9f121ce6
Misra: Fix rule 5.3
2017-04-17 13:32:48 +02:00
Daniel Marjamäki
9305394abd
Misra: Add rule 5.3
2017-04-17 13:17:37 +02:00
Daniel Marjamäki
dd2eb9ad1a
Misra: tweak rule 5.4
2017-04-17 12:57:21 +02:00
Daniel Marjamäki
11621b2b36
Misra: Add rule 5.4
2017-04-17 12:55:19 +02:00
Daniel Marjamäki
c56926f4bd
Misra: Add rule 5.5
2017-04-17 12:48:28 +02:00
Daniel Marjamäki
892f11b7f1
Misra: Fix FP, rule 15.6
2017-04-17 10:39:05 +02:00
Daniel Marjamäki
a47a5e55e4
Misra: Fix FP, rule 15.6
2017-04-17 09:38:46 +02:00
Daniel Marjamäki
0adc4f0789
Misra: Fix FP, rule 16.6
2017-04-17 09:07:45 +02:00
Daniel Marjamäki
196b530ede
Misra: Fix FP, rule 10.8
2017-04-17 08:44:30 +02:00
Daniel Marjamäki
d6570b01e1
misra.py: Fix loading of rule texts
2017-04-17 08:35:17 +02:00
Daniel Marjamäki
4f64e67298
Misra: Add rule 8.11
2017-04-17 07:45:27 +02:00
Daniel Marjamäki
6c8712c57b
Misra: Added --rule-texts=<file> flag
2017-04-16 21:38:26 +02:00
Daniel Marjamäki
ad8fef8a2f
Misra: Add rule 8.12
2017-04-16 19:01:33 +02:00
Daniel Marjamäki
b2a846dff0
Misra: Add rule 9.5
2017-04-16 17:19:30 +02:00
Daniel Marjamäki
b5bd9468de
Misra: Add rule 8.14
2017-04-16 17:04:40 +02:00
Daniel Marjamäki
efcbbd56ed
Misra: Add rule 10.4
2017-04-16 13:39:49 +02:00
Daniel Marjamäki
73dd71991c
Misra: Add rule 10.6
2017-04-16 13:28:08 +02:00
Daniel Marjamäki
7926cff8cc
Misra: Add rule 10.8
2017-04-16 13:09:37 +02:00
Daniel Marjamäki
52985da13b
Misra: Exception for rule 11.3
2017-04-16 12:17:42 +02:00
Daniel Marjamäki
85a6e9ce59
Misra: Add rule 11.3
2017-04-16 12:13:30 +02:00
Daniel Marjamäki
a92ce98cab
Misra: Add rule 11.4
2017-04-16 12:00:03 +02:00
Daniel Marjamäki
240b57bc9e
Misra: Add rule 11.5
2017-04-16 11:47:44 +02:00
Daniel Marjamäki
657c9db478
Misra: Add rule 11.6
2017-04-16 11:41:00 +02:00
Daniel Marjamäki
6c0f4f46ce
Misra: Harden rule 11.7
2017-04-16 11:01:49 +02:00
Daniel Marjamäki
1045ece946
dump: refactor valueType dump
2017-04-16 09:11:20 +02:00
Daniel Marjamäki
ccf078747a
Misra: Add rule 11.7
2017-04-15 22:06:18 +02:00
Daniel Marjamäki
b59d46091e
Misra: Add rule 11.8
2017-04-15 21:55:07 +02:00
Daniel Marjamäki
dd8b96f4c8
dump: Read platform info from dump file
2017-04-15 19:15:48 +02:00
Daniel Marjamäki
ef416d318e
Misra: Add rule 11.9
2017-04-15 19:00:34 +02:00
Daniel Marjamäki
d44cc16b1c
Misra: Harden isFunctionCall()
2017-04-15 15:21:55 +02:00
Daniel Marjamäki
485f8c0820
Misra: Refactoring with isFunctionCall
2017-04-15 15:20:28 +02:00
Daniel Marjamäki
20aa099d05
Misra: Refactoring (use directives instead of rawTokens)
2017-04-15 15:13:18 +02:00
Daniel Marjamäki
2236034243
Misra: Refactoring
2017-04-15 14:29:29 +02:00
Daniel Marjamäki
6d0f75fbae
Revert "Misra: Add rule 4.3"
...
This reverts commit eb11667c22
.
2017-04-15 14:11:34 +02:00
Daniel Marjamäki
eb11667c22
Misra: Add rule 4.3
2017-04-15 14:10:00 +02:00
Daniel Marjamäki
934183baef
Misra: Add rule 21.11
2017-04-15 12:40:23 +02:00
Daniel Marjamäki
1b1099201c
Misra: Add rule 21.9
2017-04-15 08:30:09 +02:00
Daniel Marjamäki
a3cd587af3
Misra: Add rule 21.8
2017-04-15 08:24:24 +02:00
Daniel Marjamäki
a5b3fe3998
Misra: Add rule 21.7
2017-04-15 08:08:17 +02:00
Daniel Marjamäki
95048527d0
Misra: Add rule 21.4 and 21.5
2017-04-14 22:58:42 +02:00
Daniel Marjamäki
06ef496dc7
Misra: Add rule 21.3
2017-04-14 22:53:45 +02:00
Daniel Marjamäki
8a614ed188
Misra: Add rule 20.5
2017-04-14 22:37:17 +02:00
Daniel Marjamäki
bcf815ab10
Misra: Add rule 20.4
2017-04-14 22:33:59 +02:00