Konrad Grochowski
0c6d60d202
MISRA - support for per file/line error suppression ( #1275 )
...
* cppcheckdata.py: fixed Suppression.isMatch method
* cppcheckdata.py: fixed parsing <suppressions> tag
* misra.py: now uses cppcheckdata.reportError and supports suppressions
2018-06-04 21:50:21 +02:00
Swasti Shrivastava
bdb372f929
Modified rule 14.1 ( #1267 )
...
* Modified rule 14.1
* Made suggested changes
* Added findCounterTokens
* Removed hasFloatComparison
* Improved isFloatCounterInWhileLoop
* Made all required minor changes
2018-06-04 10:12:51 +02:00
Konrad Grochowski
e1014253ef
MISRA Rule 11.6 will no longer report violation on '(void)p;' ( #1272 )
2018-05-30 12:44:20 +02:00
Konrad Grochowski
d46baad462
misra.py: support for and C99 keywords in isBoolExpression ( #1268 )
2018-05-29 06:50:32 +02:00
Swasti Shrivastava
a3b9745557
Modified Rule 10.8 ( #1265 )
...
* Modified Rule 10.8
* Made suggested changes to handle unary operators
2018-05-28 12:58:19 +02:00
Swasti Shrivastava
742d6513a1
Modified rule 10.6 ( #1263 )
...
* Modified rule 10.6
* Improved rule 10.6
2018-05-24 22:28:36 +02:00
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
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
904e9149bf
misra: fix 16.3 false negative for conditional break
2018-05-04 22:27:45 +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
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
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
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
d31ba0ca02
misra.py: updated 11.8
2018-04-03 15:11:25 +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
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
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
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
KMilhan
76c3cef4d6
MISRA 15.7 only checks if...else if constructs ( #983 )
2017-10-26 08:47:53 +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
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
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
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
Daniel Marjamäki
8755023c1c
Fix MISRA 58
2017-04-08 19:33:26 +02:00
Daniel Marjamäki
8846077caa
Fix and test MISRA
2017-04-08 19:00:50 +02:00
Daniel Marjamäki
33107ea64c
Added addon with MISRA checkers.
2017-04-08 16:08:54 +02:00