279 Commits

Author SHA1 Message Date
g-chauvel
be658e2392
misra_14_2 various fixes (#4324) 2022-08-21 20:11:10 +02:00
Daniel Marjamäki
13c80d6cce Fixed #11180 (False positive: misra-c2012-8.1 for code 'unsigned x;') 2022-07-28 20:34:56 +02:00
Oliver Stöneberg
bc58f55c6e
donate-cpu: greatly improved LibraryIncludes.get_libraries() performance / some optimizations and cleanups (#4273)
* donate_cpu_lib.py: use `os.path.join()`

* donate-cpu: removed remaining usage of `os.chdir()`

* donate_cpu_lib.py: moved library includes code into class

* donate_cpu_lib.py: pre-compile library include regular expressions

* donate_cpu_lib.py: pre-compile some more regular expressions

* donate_cpu_lib.py: small unpack_package() cleanup and optimization

* donate_cpu_lib.py: added some information about the extracted files to unpack_package()

* donate_cpu_lib.py: bumped version

* added test_donate_cpu_lib.py

* donate_cpu_lib.py: greatly improved `LibraryIncludes.get_libraries()` performance

only scan each file once for previously undetected libraries only

* test_donate_cpu_lib.py: fix for Python 3.5

* scriptcheck.yml: added `-v` to pytest calls so we get the complete diff on assertions

* fixed `test_arguments_regression()` Python tests with additional pytest arguments

* donate_cpu_lib.py: use `subprocess.check_call()`

* test_donate_cpu_lib.py: sort results to address differences in order with Python 3.5
2022-07-13 21:09:29 +02:00
Daniel Marjamäki
359f6b3680 misra: enable more checks for misra c++ 2008 checking 2022-06-07 20:55:55 +02:00
Daniel Marjamäki
ec13f5fe5c misra: When checking C++ code only activate certain misra c++ compliant rules. It will be supported to run the addon on C++ code. 2022-06-06 22:22:52 +02:00
Alon Alexander
ea3bb8b297
Ignore copy/move constructors for function naming checks (#4134)
* Ignore copy/move constructors for function naming checks

* Also change in namingng

* Add test in naming_test.cpp
2022-06-01 06:54:31 +02:00
Daniel Marjamäki
8dbc1b802a misra: fix crash 2022-05-17 22:15:49 +02:00
Daniel Marjamäki
b444c002e2 Fixed #11000 (misra: crash) 2022-05-03 22:03:35 +02:00
Daniel Marjamäki
ea63b8e2bb misra: fix void parameter check 2022-04-01 21:34:47 +02:00
Paul Fultz II
5bea50cd36
Fix 10908: FP: uninitvar after for-loop (#3942) 2022-03-31 21:24:20 +02:00
Paul Fultz II
32ded1602b
Fix warnings in switch statements on clang (#3943) 2022-03-30 19:30:02 +02:00
Daniel Marjamäki
92316b07c8 Remove CERT addon from open source Cppcheck. The plan is to provide complete CERT C checking in Cppcheck Premium during this year. 2022-03-23 20:30:43 +01:00
Daniel Marjamäki
a6c1653ed2 Fixed #10853 (False positive: misra-c2012-16.3: macro parameter "default") 2022-03-13 19:58:27 +01:00
Daniel Marjamäki
ee0d93e5da Fixed #10861 (False positive: CERT-API01: only warn about char/wchar arrays.) 2022-03-13 16:42:07 +01:00
Daniel Marjamäki
df2c8f3a65 Fixed #10862 (Misplaced warning: misra-2.2: macros) 2022-03-13 13:15:38 +01:00
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
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
Daniel Marjamäki
5491670792 Fixed #10528 (FP: misra-c2012-8.4) 2021-12-22 18:55:28 +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
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
Daniel Marjamäki
055d111ee9 Revert "misra.py: Fixed FN for rule 21.8"
This reverts commit 870b8b9c608de8a71a33c0351e098e093aea4e27.
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
e1d0db38ee Fixed #10380 (FP: misra-c2012-20.9) 2021-08-22 21:13:27 +02:00
Daniel Marjamäki
0662c94d83 misra: implement rule 21.20 2021-08-22 07:38:07 +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
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