José Martins
b1e92fc399
Misra false positive fixes for rules 8.7 and 5.9 ( #3844 )
...
* Fix misra 8.7 false positives on single function usage
When there is a single usage of a function, we should first check if the
file it is used in, is the same one it was defined in. When this is not the
case, there is no violatior to be reported.
* Fix misra rule 5.9 false positives for exception
The exception for rule 5.9 described in the guidelines allows for
multiple definitions of internal linkage obejcts when these regard a
static inlined function defined in the same header file.
* Fix neglecting of inline keyword flag upon simplifications
When the inline keyword is being "simplified" and the inline flag is
degated to the next token. However, this information might be lost if the next
token itself is simplified/deleted in a futher pass. Therefore, we must
propagated the flag to all the next named tokens, so we can make sure the
function name token itself is tagged with this property.
* add tests for misra addon rules 8.7 and 5.9
2022-02-27 19:17:48 +01:00
Daniel Marjamäki
03deb4d31e
addons: interface with premiumaddon if it exists
2022-02-24 16:08:59 +01:00
Daniel Marjamäki
3dd200930a
Revert "misra,cert: use premiumaddon if it exists"
...
This reverts commit ef28c579bf
.
2022-02-23 22:38:41 +01:00
Daniel Marjamäki
f68b219300
Revert "cppcheckdata: a bit better handling for windows"
...
This reverts commit ef6bbcb6ad
.
2022-02-23 22:38:26 +01:00
Daniel Marjamäki
ef6bbcb6ad
cppcheckdata: a bit better handling for windows
2022-02-23 20:40:00 +01:00
Daniel Marjamäki
ef28c579bf
misra,cert: use premiumaddon if it exists
2022-02-23 20:26:31 +01:00
Daniel Marjamäki
bb8b9a8001
misra: optional interactions with premium addon
2022-02-17 11:18:54 +01:00
Daniel Marjamäki
68b00b3cfc
misra: fix 7.2 checking
2022-02-12 12:44:44 +01:00
Daniel Marjamäki
515649217f
fix
2022-02-12 07:47:26 +01:00
Georgiy Komarov
47e9ed6e06
cert: Fix FP on pointer types ( #3800 )
...
Closes issue 10782
2022-02-05 14:02:01 +01:00
Daniel Marjamäki
ebd1fbbfd8
cert: improved check for int31-c
2022-01-20 21:09:39 +01:00
Daniel Marjamäki
31f16d01d6
fix in misra test code
2022-01-18 20:59:30 +01:00
Daniel Marjamäki
5ebcd1dd52
misra; update test there was a warning about missing return
2022-01-18 20:55:30 +01:00
Paul Fultz II
ccea1da33a
Add missing valueflow attributes to cppcheckdata.py ( #3663 )
2022-01-02 08:11:36 +01:00
Daniel Marjamäki
5491670792
Fixed #10528 (FP: misra-c2012-8.4)
2021-12-22 18:55:28 +01:00
Daniel Marjamäki
cf203e2285
misra; fix typo
2021-12-14 17:32:05 +01:00
Daniel Marjamäki
d0e68e0d77
misra; add rule 17.3
2021-12-11 12:42:15 +01:00
Daniel Marjamäki
10109a5ef7
dumpfile: remove redundant Variable attributes isArgument and isLocal. Add isVolatile.
2021-11-19 17:21:27 +01:00
Daniel Marjamäki
593683ab69
Fixed #9459 (MISRA Rule 2.2: Find dead code in arithmetic operators)
2021-11-17 17:44:54 +01:00
Daniel Marjamäki
4f9a563570
Fixed #10583 (False positive: misra-15.6)
2021-11-15 21:27:36 +01:00
Daniel Marjamäki
2a64ad8dbb
Fixed #10481 (misra.py: Bailing out from checking test.c since there was an internal error: Failed to ...)
2021-09-25 21:53:55 +02:00
Daniel Marjamäki
3c1ae77962
Fixed #10499 (FP: misra-c2012-10.4)
2021-09-23 10:44:38 +02:00
Dani Martin
f01ffddca6
Fix in MISRA rule 6.1 check ( #3458 )
2021-09-22 19:25:02 +02:00
Daniel Marjamäki
4ad09f181a
Fixed #10480 (FP: misra-c2012-10.4 (char))
2021-09-22 13:02:11 +02:00
Daniel Marjamäki
47ea670eb3
Fixed #10486 (FP: misra-c2012-8.4)
2021-09-20 21:27:05 +02:00
Daniel Marjamäki
adb703c09d
Fixed #10487 (FP: misra-c2012-10.6 (bit fields))
2021-09-20 20:27:43 +02:00
Armin Müller
c6f8995bf0
Typos found by running "codespell" ( #3463 )
2021-09-20 19:51:38 +02:00
Daniel Marjamäki
ee475b181d
Fixed #10488 (FP: misra-c2012-10.7)
2021-09-19 20:22:30 +02:00
Daniel Marjamäki
a6c98e9e60
Fixed #10482 (FP: misra-c2012-12.2)
2021-09-17 14:21:25 +02:00
Daniel Marjamäki
b6abe9c5fe
misra; fix test_rules_suppression
2021-09-17 08:23:48 +02:00
Daniel Marjamäki
c296115cd3
misra; fixed test
2021-09-17 08:08:40 +02:00
Daniel Marjamäki
b938ee69d0
Fixed #10486 (FP: misra-c2012-8.4)
2021-09-16 11:41:50 +02:00
Daniel Marjamäki
8de160a163
Fixed #10447 (FP: misra-c2012-10.3)
2021-09-12 09:12:47 +02:00
Daniel Marjamäki
c120c59912
Fixed #10446 (FP: misra-c2012-10.1 (u8 & 0x42U))
2021-09-12 08:56:07 +02:00
PeterSchops
42f66433bc
Misra add c11 keywords ( #3448 )
2021-09-06 20:13:15 +02:00
Daniel Marjamäki
055d111ee9
Revert "misra.py: Fixed FN for rule 21.8"
...
This reverts commit 870b8b9c60
.
2021-08-30 19:50:36 +02:00
orbitcowboy
870b8b9c60
misra.py: Fixed FN for rule 21.8
2021-08-30 11:07:38 +02:00
Daniel Marjamäki
43fa7d2ebe
misra; Robustness. Fix AttributeErrors. getEssentialType might return None.
2021-08-28 15:27:35 +02:00
Daniel Marjamäki
ca047e57bf
Switch from http to https on our sourceforge webpage
2021-08-28 12:46:54 +02:00
Daniel Marjamäki
e1d0db38ee
Fixed #10380 (FP: misra-c2012-20.9)
2021-08-22 21:13:27 +02:00
Daniel Marjamäki
ac662ec07d
misra: map cppcheck errors
2021-08-22 17:02:37 +02:00
Daniel Marjamäki
0662c94d83
misra: implement rule 21.20
2021-08-22 07:38:07 +02:00
Daniel Marjamäki
ec301b2447
cppcheckdata.py: fixed Value::tokvalue
2021-08-22 05:56:16 +02:00
PeterSchops
7199dde161
Fix issue in misra 9 x ( #3409 )
2021-08-21 22:01:24 +02:00
Daniel Marjamäki
6e4acbd3bc
misra: implement rule 21.19
2021-08-19 06:58:49 +02:00
Daniel Marjamäki
8700d1b86d
update misra test
2021-08-16 20:46:37 +02:00
Daniel Marjamäki
864d6462d0
misra: implement rule 21.16
2021-08-15 20:50:20 +02:00
Daniel Marjamäki
ecba12a6b8
misra: improved generateTable
2021-08-15 20:12:51 +02:00
Daniel Marjamäki
8d67653de3
misra: implement rule 21.14
2021-08-15 19:23:51 +02:00
Daniel Marjamäki
682c4510a9
misra: implement rule 1.4
2021-08-15 13:39:14 +02:00
Daniel Marjamäki
6ddb8388ed
misra: implement rule 21.21
2021-08-15 13:38:04 +02:00
Daniel Marjamäki
10c2dcf721
misra: implement rule 22.7
2021-08-15 12:04:55 +02:00
Daniel Marjamäki
b3034a5628
misra: implement rule 22.9
2021-08-15 07:46:32 +02:00
Daniel Marjamäki
5313a40c3b
misra; implement rule 22.8
2021-08-14 19:24:31 +02:00
Daniel Marjamäki
4b126db9ca
misra: implement rule 22.10
2021-08-13 18:03:37 +02:00
Paul Fultz II
2a3657154b
Dont require __main__ for an addon ( #3363 )
2021-08-12 20:17:51 +02:00
Daniel Marjamäki
f85f3c28e1
misra; implement rule 21.15
2021-07-30 15:53:10 +02:00
Daniel Marjamäki
e08ee3bac7
addons; Add get_function_call_name_args
2021-07-24 19:34:11 +02:00
Daniel Marjamäki
4baf221a6b
misra; implemented rule 21.2
2021-07-22 20:39:04 +02:00
Daniel Marjamäki
388b7a0fae
misra; implemented rule 20.12
2021-07-22 19:51:31 +02:00
Daniel Marjamäki
a65fa9b682
misra; implement rule 20.11
2021-07-22 16:11:25 +02:00
Daniel Marjamäki
3ba4696f4f
misra; implement rule 20.9
2021-07-22 12:08:51 +02:00
Daniel Marjamäki
74ab8f1a48
misra; implemented rule 20.8
2021-07-22 08:46:28 +02:00
Daniel Marjamäki
d2843b70ca
misra; implement rule 10.7
2021-07-21 19:18:12 +02:00
Daniel Marjamäki
fb8d6daf79
misra; implement rule 10.5
2021-07-21 15:25:01 +02:00
Daniel Marjamäki
f5fe562050
misra; improved checking of 10.3
2021-07-21 10:56:17 +02:00
Daniel Marjamäki
4428efbd2b
misra; improved essential type for composite expressions
2021-07-21 08:20:15 +02:00
Daniel Marjamäki
b409d4a598
misra; implement rule 16.1
2021-07-20 20:40:42 +02:00
Daniel Marjamäki
e72e59f934
misra; implement rule 12.4
2021-07-20 19:50:31 +02:00
Daniel Marjamäki
937146127a
misra; fix essential type for integer literals
2021-07-20 18:27:49 +02:00
Daniel Marjamäki
bc43bfcb73
misra; fix essential type for comparisons and logical operators
2021-07-20 16:50:43 +02:00
Daniel Marjamäki
b320a092d0
misra; fix essential type for char literals
2021-07-20 16:39:59 +02:00
Daniel Marjamäki
6f7722873e
CI; specify unix64 platform when running misra-test
2021-07-20 12:23:16 +02:00
Daniel Marjamäki
d467505696
misra; update essential type for variables
2021-07-19 17:12:24 +02:00
Daniel Marjamäki
657d530fa1
misra; implement rule 10.3
2021-07-19 14:54:17 +02:00
escherstair
2d57f60225
Misra: improve misra.py ( #3343 )
2021-07-19 14:29:53 +02:00
Daniel Marjamäki
d1fe34e167
misra; implement rule 8.10
2021-07-18 21:18:07 +02:00
Daniel Marjamäki
5f548a4b6c
misra; implement rule 8.9
2021-07-18 10:31:52 +02:00
Daniel Marjamäki
59c797c776
misra; implement rule 8.8
2021-07-17 23:38:29 +02:00
Daniel Marjamäki
f44a82856f
misra; implement rule 8.7
2021-07-17 22:36:03 +02:00
Daniel Marjamäki
77d8b714ea
misra; implement rule 8.6
2021-07-17 21:24:53 +02:00
Daniel Marjamäki
aa910d3c38
misra; implemented rule 8.5
2021-07-17 19:59:21 +02:00
Daniel Marjamäki
e4ae4471e8
misra; implement rule 11.2
2021-07-11 20:55:54 +02:00
Daniel Marjamäki
9d5c65fcce
CI; Improved testing of misra addon
2021-07-11 17:24:14 +02:00
Daniel Marjamäki
754d648b0f
misra; implement rule 11.1
2021-07-11 07:50:13 +02:00
Daniel Marjamäki
009c144455
misra; implement rule 8.4
2021-07-10 20:10:44 +02:00
Daniel Marjamäki
599a559351
misra; implement rule 5.9
2021-07-10 12:51:40 +02:00
Daniel Marjamäki
c77235f12c
misra; implement rule 5.8
2021-07-09 09:47:23 +02:00
Daniel Marjamäki
db58952a33
Addons CTU; pass all filenames for whole program analysis in file instead of through command line
2021-07-09 08:33:07 +02:00
Daniel Marjamäki
e05a9d7e65
misra: implement rule 2.5
2021-07-08 22:03:27 +02:00
Daniel Marjamäki
4ecf3ccd17
misra: implement rule 22.5
2021-07-07 23:00:12 +02:00
Daniel Marjamäki
cf049cb759
misra: implement rule 5.7
2021-07-07 21:47:17 +02:00
Daniel Marjamäki
859e541661
misra: implement rule 2.4
2021-07-07 20:30:52 +02:00
Daniel Marjamäki
13d55c7060
misra; implement rule 2.3
2021-07-07 15:16:53 +02:00
Daniel Marjamäki
00a9671f46
misra: implement 8.1
2021-07-07 13:34:55 +02:00
Daniel Marjamäki
9172f2ab3b
addons; add CTU infrastructure
2021-07-07 10:58:13 +02:00
Georgiy Komarov
81eabb5f61
addons: Fix arguments parser when running pytest ( #3327 )
2021-07-06 22:13:04 +02:00
Georgiy Komarov
6f389014f1
cppcheckdata: Fix crash on an empty union ( #3326 )
2021-07-06 17:01:58 +02:00
Georgiy Komarov
426117a30d
misra: Improve warning messages for rule 8.2 when the missing arguments are on the next line ( #3320 )
...
This makes it easier for the user to find the violation.
Suggested in the forum: https://sourceforge.net/p/cppcheck/discussion/development/thread/801dc07e59/#a1a8/d3e9/c455/8915/747c/2525/0eb8/0f7d
2021-07-01 21:08:40 +02:00
Georgiy Komarov
10123b4ad2
misra: Emit more accurate warnings for unused arguments in rule 2.7 ( #3314 )
...
Make the MISRA addon emit extra warnings for unused arguments placed in
lines other than the function definition. This makes it easier for the
user to find violations.
2021-06-29 11:17:38 +02:00