Commit Graph

284 Commits

Author SHA1 Message Date
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
Daniel Marjamäki c8d3cccc21 Misra: Add rule 20.3 2017-04-14 22:25:35 +02:00
Daniel Marjamäki 79ef26d7a2 Misra: Add rule 20.2 2017-04-14 22:22:22 +02:00
Daniel Marjamäki 3c11aa781b Misra: Add rule 20.1 2017-04-14 21:49:52 +02:00
Daniel Marjamäki 87d0fdd709 Misra: Add rule 19.2 2017-04-14 21:14:26 +02:00
Daniel Marjamäki e3872f9718 Misra: Add rule 18.8 2017-04-14 21:09:25 +02:00
Daniel Marjamäki 8c42e052ac Misra: Added rule 18.5 2017-04-14 20:51:09 +02:00
Daniel Marjamäki e8af55e890 Misra: Added rule 17.8 2017-04-14 20:38:35 +02:00
Daniel Marjamäki f45a5ed29e Misra: Add rule 17.6 2017-04-14 18:51:12 +02:00
Daniel Marjamäki 41e07c0614 Misra: Added rule 17.1 2017-04-14 14:13:37 +02:00
Daniel Marjamäki e5286c61d5 Misra: Added rule 16.7 2017-04-14 13:23:53 +02:00
Daniel Marjamäki 47126e93a4 Misra: Added rule 16.6 2017-04-14 13:18:20 +02:00
Daniel Marjamäki 1cd8454239 Misra: Added rule 16.5 2017-04-14 13:07:48 +02:00
Daniel Marjamäki 33df403727 Misra: Refactoring with simpleMatch 2017-04-14 13:01:02 +02:00
Daniel Marjamäki e840d67f03 Misra: Added rule 16.4 2017-04-14 12:57:07 +02:00
Daniel Marjamäki 9c8fc6253a Misra: Added verification code in the script to simplify testing 2017-04-14 11:20:20 +02:00
Daniel Marjamäki 174bcc8d34 Misra: Add rule 16.3 2017-04-14 10:46:35 +02:00
Daniel Marjamäki aa2d1fd683 Misra: Add rule 16.2 2017-04-14 08:17:32 +02:00
Daniel Marjamäki 0052ef7437 Misra: Add rule 15.7 2017-04-14 08:05:14 +02:00
Daniel Marjamäki 471a9af348 Misra: Added rule 15.6 2017-04-13 23:24:35 +02:00
Daniel Marjamäki ec72330e7a Misra: Add rule 15.5 2017-04-13 23:07:41 +02:00
Daniel Marjamäki 4ebe520858 Misra: Added rule 15.3 2017-04-13 23:02:06 +02:00
Daniel Marjamäki 14a27f292e Misra: Added rule 15.2 2017-04-13 22:44:43 +02:00
Daniel Marjamäki b620853b25 Misra: Added rule 14.2 2017-04-13 22:26:12 +02:00
Daniel Marjamäki 466bbdcf6f Misra: Add Rule 14.1 2017-04-13 22:05:27 +02:00
Daniel Marjamäki 0c26d9e470 Misra: Added rule 13.6 2017-04-13 21:40:59 +02:00
Daniel Marjamäki cead8a62b4 Misra: Added rule 13.4 2017-04-13 19:43:06 +02:00
Daniel Marjamäki e7483e1b2a Misra: Added rule 13.3 2017-04-13 19:38:25 +02:00
Daniel Marjamäki 5b0ee55964 Misra: Added rule 13.1 2017-04-13 19:11:48 +02:00
Daniel Marjamäki b876249b6b Misra: Added 12.4 2017-04-13 11:05:04 +02:00
Daniel Marjamäki 44f9f1c065 Misra: Added 12.2 rule 2017-04-13 10:04:50 +02:00
Daniel Marjamäki ed03545725 Misra: Try to avoid FPs 2017-04-12 21:45:39 +02:00
Daniel Marjamäki 385d43facc Misra: Added 12.3 rule 2017-04-12 20:18:54 +02:00
Daniel Marjamäki 024b9c87d0 Misra: improve 7.3 2017-04-12 19:07:10 +02:00
Daniel Marjamäki f6afbbe65d Misra: updated 12.1 check 2017-04-12 16:19:13 +02:00
Daniel Marjamäki cb274bc71d Misra: Add rule 12.1 2017-04-11 22:21:54 +02:00
Daniel Marjamäki f4327f5e45 Misra: Remove feature matrix for now. Implement 7.3. 2017-04-11 19:03:35 +02:00
Daniel Marjamäki bf209890cb Misra: target MISRA C 2012 2017-04-11 14:45:38 +02:00
Daniel Marjamäki efae089b10 MISRA: Remove rule texts, it seems we are not allowed to include them. 2017-04-09 14:50:00 +02:00
Daniel Marjamäki a4277b7ac6 misra 19 fix 2017-04-09 13:51:36 +02:00
Daniel Marjamäki 3a386d23af Misra 32 2017-04-09 13:45:32 +02:00
Daniel Marjamäki 6e0af5d01f MISRA 19 and 28 2017-04-09 10:11:54 +02:00