128 Commits

Author SHA1 Message Date
Paul Fultz II
72c764b034
Expose exprId to addon (#4354) 2022-08-16 22:00:31 +02:00
Paul Fultz II
a8c1cdca57
Add ** to match until in addons (#4353) 2022-08-16 19:05:37 +02:00
Paul Fultz II
754250cd57
Add methods to token class in addons (#4320) 2022-07-30 11:09:22 +02:00
Paul Fultz II
7b549b622f
Add match function to addons (#4268) 2022-07-12 22:00:15 +02:00
Daniel Marjamäki
ef33ff628f cppcheckdata.py: fix cmd_output() function, handle errors better 2022-06-16 14:07:14 +02:00
Daniel Marjamäki
9e31d6d05d Revert "cppcheckdata.py: better handling when subprocess call fails"
This reverts commit 1cc3b46d32292c7dcd6b4b8aeb66b7a766af6d36.
2022-06-15 19:38:40 +02:00
Daniel Marjamäki
1cc3b46d32 cppcheckdata.py: better handling when subprocess call fails 2022-06-15 17:13:14 +02:00
Daniel Marjamäki
9b807ba047 misra: fix problems when executing premium addon 2022-05-05 14:15:09 +02:00
Daniel Marjamäki
d50823fd22 Fix misra crash when premium addon fails 2022-05-03 18:37:59 +02:00
Daniel Marjamäki
a5e0a9fe08 cppcheckdata: if 'import pathlib' fails then print a proper error message that explains how user can solve the problem. 2022-04-22 21:39:14 +02:00
Daniel Marjamäki
ea63b8e2bb misra: fix void parameter check 2022-04-01 21:34:47 +02:00
Daniel Marjamäki
f907bba4e5 cppcheckdata.py: code cleanup 2022-03-19 12:27:24 +01:00
Daniel Marjamäki
7728c53cb9 Addons: Variable.constness will never be None 2022-03-19 10:36:46 +01:00
Daniel Marjamäki
7290ec0db6 cppcheckdata: remove debug output 2022-03-09 21:38:44 +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 ef28c579bfef5c9591bd1b89ef9c4189176dbc76.
2022-02-23 22:38:41 +01:00
Daniel Marjamäki
f68b219300 Revert "cppcheckdata: a bit better handling for windows"
This reverts commit ef6bbcb6ad09e9e9eeaefce5b9aaf9662361fb46.
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
Paul Fultz II
ccea1da33a
Add missing valueflow attributes to cppcheckdata.py (#3663) 2022-01-02 08:11:36 +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
PeterSchops
42f66433bc
Misra add c11 keywords (#3448) 2021-09-06 20:13:15 +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
ec301b2447 cppcheckdata.py: fixed Value::tokvalue 2021-08-22 05:56:16 +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
388b7a0fae misra; implemented rule 20.12 2021-07-22 19:51:31 +02:00
Daniel Marjamäki
74ab8f1a48 misra; implemented rule 20.8 2021-07-22 08:46:28 +02:00
Daniel Marjamäki
d1fe34e167 misra; implement rule 8.10 2021-07-18 21:18:07 +02:00
Daniel Marjamäki
aa910d3c38 misra; implemented rule 8.5 2021-07-17 19:59:21 +02:00
Daniel Marjamäki
9d5c65fcce CI; Improved testing of misra addon 2021-07-11 17:24:14 +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
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
6f389014f1
cppcheckdata: Fix crash on an empty union (#3326) 2021-07-06 17:01:58 +02:00
Georgiy Komarov
b89f5fbeff
misra: Fix 8.2 false positives (#3309)
* misra: Fix 8.2 false positives

Fix false positives in rule 8.2 that occurred in cases when we have a
function definition and declaration in the same file.

For example, the following code generated false positives before this
commit:

```
void f(uint8_t * const x);
void f(uint8_t * const x)
{ (void)x; }
```

We need to distinguish the declaration and the definition, so the dump
file generation routine was extended to keep token where the definition
of the function. The analysis in the addon also been improved.

Closes Trac issue: https://trac.cppcheck.net/ticket/10219
2021-06-27 10:51:32 +02:00
Daniel Marjamäki
22727ee3ab Addons; split up possible/known values and impossible values. This is inconsistent with core Cppcheck, however the addons do not handle impossible values in general. A future improvement might be to clarify this somehow, maybe renaming Token.values. 2021-02-23 22:40:49 +01:00
Georgiy Komarov
35a42cd0fe
cppcheckdata: Make the source files for configuration public (#3030)
Extend CppcheckData class API to make the list of source files public.
This can be used by custom addons.
2021-01-08 22:59:58 +01:00
Georgiy Komarov
13b8ee8871
cppcheckdata: Use instance attributes in Cppcheckdata (#3029)
This commit makes CppcheckData class to use instance attributes instead
of class attributes.

Since class attributes are mutable (list), when you append to them, they
don't promote to instance variable which means when you call parsedump()
multiple times data just gets appended to them.

Found by samed on the forum:
https://sourceforge.net/p/cppcheck/discussion/general/thread/c6e1210ec2/
2021-01-08 10:25:51 +01:00
Daniel Marjamäki
a810678b83 Addons: handle inline suppressions internally in cppcheckdata 2020-12-05 11:37:09 +01:00
Daniel Marjamäki
649a754cfd Revert "Addons: handle inline suppressions internally in cppcheckdata"
This reverts commit 1ce78a108604b3987c1fbb3f69df09789da2d3fc.

There was regressions in handling of suppressions.
2020-12-04 18:05:47 +01:00
Daniel Marjamäki
9a81d17a58 cppcheckdata: Add Scope.varlist 2020-11-13 21:03:02 +01:00
Daniel Marjamäki
c7f816f986 Misra refactorings 2020-11-13 07:21:34 +01:00
Daniel Marjamäki
1ce78a1086 Addons: handle inline suppressions internally in cppcheckdata 2020-11-11 20:01:58 +01:00
Daniel Marjamäki
687b44dbb7 Token: add flag for splitted variable declaration with initialization 2020-09-09 16:22:47 +02:00
Daniel Marjamäki
9a943e7616 misra: rewrote rule 12.3 2020-09-06 11:33:37 +02:00