Oliver Stöneberg
c36320747f
some `missingInclude`/`missingIncludeSystem` fixes and tests ( #4027 )
...
* do not emit `missingInclude` and `missingIncludeSystem` errors when not enabled / fixed and improved TestPreprocessor::inline_suppression_for_missing_include()
* testpreprocessor.cpp: added missing tests for `missingInclude` and `missingIncludeSystem`
* cppcheckexecutor.cpp: `missingIncludeSystem` was not emitted in normal analysis if `missingInclude` existed
* dmake
* added `run-dmake` as `testrunner` dependency
2022-07-09 23:21:11 +02:00
Oliver Stöneberg
b51aea5531
separated process execution code into `ProcessExecutor` ( #4249 )
2022-07-08 16:42:57 +02:00
orbitcowboy
10c7c70970
Activated 'make validateRules' and improved rule XML file parsing. Now, it optionally accepts '<rules>...</rules>' tags to make xmllint happy.
2022-06-22 00:03:18 +02:00
orbitcowboy
49ffe80f75
Decativate 'make validateRules'
2022-06-21 17:14:53 +02:00
Paul Fultz II
46fcdca5ee
Add debug_valuetype intrinsic ( #4210 )
2022-06-15 21:25:55 +02:00
Paul Fultz II
cee48e5e19
Add backtrace to valueflow in debug mode ( #4195 )
2022-06-12 07:13:42 +02:00
Oliver Stöneberg
d299d22fa2
updated CI to latest ubuntu and clang ( #4004 )
2022-05-22 15:27:32 +02:00
Oliver Stöneberg
8f728cb4b6
added (partial) support for specifying C++23 and support more "-std" options ( #3212 )
2022-04-15 16:17:36 +02:00
Oliver Stöneberg
32978933b5
removed leftovers of generated cfg tests ( #4008 )
2022-04-13 12:24:17 +02:00
Daniel Marjamäki
8f386e15fd
Remove bug hunting. This feature will be provided in Cppcheck premium.
2022-04-11 07:31:33 +02:00
Jens Yllman
34a11c1673
Fix unmatched suppression ( #5704 ) ( #3886 )
2022-03-30 19:24:53 +02:00
chrchr-github
e54ad24d2c
Fix #10870 FN constStatement with arrays ( #3904 )
2022-03-25 11:32:16 +01:00
chrchr-github
39567ea8c8
Fix #8541 FP variableScope (std::for_each with lambda) ( #3924 )
2022-03-22 21:50:46 +01:00
chrchr-github
2eed660b32
Fix #8496 Clarify warnings for uninitMemberVar ( #3760 )
2022-03-13 17:33:31 +01:00
Oliver Stöneberg
de728f472c
removed ThreadExecutor::addFileContent() ( #3865 )
2022-03-02 11:10:29 +01:00
Oliver Stöneberg
51371f7929
added CMake option USE_THREADS to be able to use threads instead of fork() / cleanups ( #3852 )
2022-02-23 09:04:35 +01:00
Oliver Stöneberg
aaa4425d90
added MinGW to CI and fixed local MinGW build ( #3826 )
2022-02-16 07:06:04 +01:00
Oliver Stöneberg
6e57cc4323
small utils.h cleanup ( #3821 )
2022-02-11 19:44:08 +01:00
chrchr-github
5f3ddabd56
Fix FP constParameter with std::map ( #3823 )
2022-02-11 19:40:11 +01:00
Oliver Stöneberg
04b2a6f1c5
use Python version provided by platform in CI / prefer python3 ( #3776 )
2022-02-11 19:37:32 +01:00
Daniel Marjamäki
3b1198988a
Makefile: Set debug mode
2022-02-05 13:04:30 +01:00
Daniel Marjamäki
6ba6567ad8
2.7: Updated Makefile
2022-02-05 13:03:32 +01:00
Paul Fultz II
119ec0582a
Fix 10676: FP: Array index -1 is out of bounds. ( #3670 )
2022-01-04 10:21:54 +01:00
Oliver Stöneberg
ba402f3e50
cleaned up includes based on include-what-you-use ( #3627 )
2021-12-15 19:47:27 +01:00
Paul Fultz II
33ad30f4da
Fix 10617, 9824: conditions in expanded macro ( #3578 )
2021-11-25 18:40:15 +01:00
Paul Fultz II
8c9c46835a
Fix for 6597: false negative: uninitialized variable usage not detected (ValueFlow , multi variables) ( #3535 )
2021-10-30 22:13:58 +02:00
Daniel Marjamäki
b97426a886
run dmake
2021-10-14 10:19:17 +02:00
Paul Fultz II
a1e0ef9b38
Refactor: Use interval analysis for symbolic values for inferCondtion ( #3488 )
2021-10-09 16:19:06 +02:00
Paul Fultz II
7621fee3d4
Refactor: Use ValueFlow::Value for ProgramMemory execute instead of integers ( #3477 )
2021-10-04 07:53:58 +02:00
Paul Fultz II
2ca2abdf0e
Remove duplicate uninit warnings ( #3478 )
2021-10-04 07:50:23 +02:00
Daniel Marjamäki
08bc21199e
Make ci happy
2021-10-03 22:01:13 +02:00
Daniel Marjamäki
786700efd6
Makefile; Updated with dmake
2021-08-29 19:33:48 +02:00
Paul Fultz II
865163b2ba
Add library configurations for free functions like std::size, std::empty, etc ( #3410 )
2021-08-23 09:03:48 +02:00
Paul Fultz II
59a1c1a9d8
Refactor: Remove variable analyzer ( #3339 )
2021-07-18 07:46:31 +02:00
chrchr-github
8cd8b9c64e
Fix MSVC build and some warnings ( #3334 )
2021-07-16 21:55:12 +02:00
Daniel Marjamäki
42388f8da8
Remove TestSamples
2021-07-10 21:04:38 +02:00
Paul Fultz II
8dc1fa7a59
Add colors to CLI reporting ( #3304 )
2021-07-08 21:21:35 +02:00
Daniel Marjamäki
672d5dcf30
Set debug mode
2021-07-04 10:25:20 +02:00
Daniel Marjamäki
f5b44b0b0b
Set release mode
2021-07-04 10:24:24 +02:00
Daniel Marjamäki
5426ac6a22
run dmake
2021-07-01 22:26:42 +02:00
Daniel Marjamäki
bf019a1ab2
Run dmake
2021-06-25 16:44:41 +02:00
Daniel Marjamäki
c27c513b60
Run dmake
2021-06-14 07:39:23 +02:00
Daniel Marjamäki
f7d0bf7a59
Refactoring; Reuse simplecpp::characterLiteralToLL
2021-05-02 13:44:37 +02:00
Daniel Marjamäki
d2d2124238
Revert "Clang import; This experimental feature didn't "take off" much. After a lot of work we are still far fram the goal. I remove it now but don't rule out completely that it could ever be added again."
...
This reverts commit 207361b174
.
2021-04-30 16:47:02 +02:00
dummyunit
229832e72e
Read error locations in the correct order from XML ( #3226 )
...
When ErrorMessage::callStack elements are serialized to XML they are
saved in the reverse order. But when they read back from XML they are
added at the end of the list. Thus the round trip via XML reverses the
order of ErrorMessage::callStack.
From the user point of view it looks like the usage of the
--cppcheck-build-dir option sometimes (when the file wasn't reanalyzed,
but that is hard to spot) results in incorrect location info for some
diagnostic messages.
Moreover, when the first location matches some suppression rule and the
last doesn't match any (or vice versa), usage of --cppcheck-build-dir
results in some diagnostic messages appearing and disappearing seemingly
at random (again, depending on whether the file was reanalyzed or not).
2021-04-22 14:28:33 +02:00
Daniel Marjamäki
207361b174
Clang import; This experimental feature didn't "take off" much. After a lot of work we are still far fram the goal. I remove it now but don't rule out completely that it could ever be added again.
2021-04-21 18:59:48 +02:00
Oliver Stöneberg
6397e29f84
cleaned up includes based on include-what-you-use ( #3141 )
2021-04-03 21:30:50 +02:00
Paul Fultz II
5077663684
Fix issue 9979: false positive: containerOutOfBounds with conditional resize ( #3136 )
2021-03-30 14:02:28 +02:00
Daniel Marjamäki
9826d85f66
Makefile: Set debug mode
2021-03-21 21:27:57 +01:00
Daniel Marjamäki
f9e46572e7
2.4: Updated Makefile
2021-03-21 21:26:38 +01:00
Oliver Stöneberg
e783df646a
various CI refactorings and cleanups ( #3142 )
2021-02-21 14:17:02 +01:00
Oliver Stöneberg
3814163373
some MathLib adjustments for out-of-range numbers after std::stringstream removal ( #3100 )
2021-02-13 19:10:45 +01:00
Daniel Marjamäki
37a5ec8cd5
Summaries: Moved to its own files
2020-12-20 19:53:58 +01:00
Daniel Marjamäki
d95ccefab4
Makefile: debug mode
2020-12-05 10:21:50 +01:00
Daniel Marjamäki
f7cad0273b
2.3: Makefile release mode
2020-12-05 10:20:59 +01:00
Daniel Marjamäki
ad4185428e
Run dmake again
2020-11-16 09:14:31 +01:00
Daniel Marjamäki
c7cbe7f2d3
rename externals/tinyxml to externals/tinyxml2
2020-11-16 09:11:53 +01:00
Daniel Marjamäki
ef5d5e84c5
Fixed #8936 (Add PicoJSON Copyright notice)
2020-11-14 21:31:50 +01:00
Paul Fultz II
bd7e915c20
Add generic reverse valueflow ( #2878 )
2020-11-10 16:00:55 +01:00
Rikard Falkeborn
33739d23aa
Fix #9941 : Return value type of library functions returning unsigned ( #2848 )
...
Fix return value types of library functions returning unsigned.
Previously, the valueType of auto x = f() would be signed even if f()
was specified to return an unsigned type.
This fixes #9941 , which is a regression in cppcheck 2.2 compared to 2.1.
The regression was introduced in 32df807b22
.
2020-10-16 07:56:31 +02:00
Daniel Marjamäki
621f0f59b3
Makefile: Set debug mode
2020-10-03 11:10:16 +02:00
Daniel Marjamäki
8636dd8559
2.2: Updated Makefile
2020-10-03 11:05:53 +02:00
Daniel Marjamäki
ccdd5f0ede
Run dmake
2020-09-05 21:49:09 +02:00
Rikard Falkeborn
5fa3d5304b
Run dmake ( #2705 )
2020-07-10 08:20:38 +02:00
Daniel Marjamäki
ab663feea8
Add testbughuntingchecks.cpp
2020-06-19 13:38:56 +02:00
Daniel Marjamäki
d0ac583b97
Add 'bughuntingchecks'
2020-06-19 13:16:48 +02:00
Daniel Marjamäki
9cdad2fb33
Set debug mode
2020-06-13 18:09:27 +02:00
Daniel Marjamäki
0f23bde2b0
2.1: Set release mode in Makefile
2020-06-13 18:08:37 +02:00
Oliver Stöneberg
37bc0483a4
made check.h less heavy ( #2633 )
2020-05-23 07:16:49 +02:00
Daniel Marjamäki
e2ead44a2d
dmake updates. externals/z3_version.h should never be added as a dependency
2020-05-19 20:14:29 +02:00
Daniel Marjamäki
32e569704b
executeCommand in CppCheckExecutor or QCheckThread
2020-05-19 16:04:40 +02:00
amai2012
d78ff975a0
Run dmake
2020-05-19 10:11:56 +02:00
Daniel Marjamäki
330e634937
Revert "TestTrac: Add separate file for black box / integration tests in testrunner"
...
This reverts commit e895fa4c3f
.
2020-05-19 07:53:54 +02:00
Daniel Marjamäki
e895fa4c3f
TestTrac: Add separate file for black box / integration tests in testrunner
2020-05-18 20:22:00 +02:00
Daniel Marjamäki
6fb014a07a
Generate new Makefile by dmake without externals/z3_version.h
2020-05-15 18:28:18 +02:00
Daniel Marjamäki
fd09c6e8a5
run dmake
2020-05-15 17:17:22 +02:00
Oliver Stöneberg
a0317477c9
utils.h: avoid unnecessary string creation in isStringCharLiteral() ( #2638 )
...
* utils.h: avoid unnecessary string creation in isStringCharLiteral()
reduces Ir from 541 to 63 in a test
* dmake
2020-05-14 14:45:35 +02:00
Daniel Marjamäki
db6135dd13
Makefile: DEBUG
2020-05-10 14:15:03 +02:00
Daniel Marjamäki
aad6dc4367
2.0: Updated Makefile
2020-05-10 11:31:19 +02:00
amai2012
12aa8b0e65
Run dmake
2020-04-19 11:17:59 +02:00
amai2012
efeb7deb7a
Run dmake and astyle
2020-02-16 19:58:09 +01:00
Paul Fultz II
7368a54629
Add generic valueflow forward analysis ( #2511 )
2020-02-13 16:27:06 +01:00
Rikard Falkeborn
a955524311
Run dmake ( #2506 )
2020-01-26 08:23:15 +01:00
amai2012
7a2c10f9f1
Run astyle
2020-01-13 10:40:36 +01:00
amai2012
00e017722f
Run dmake
2020-01-11 14:43:58 +01:00
Daniel Marjamäki
4c778e0999
Clang import; Rename files/namespace
2020-01-10 16:29:06 +01:00
Daniel Marjamäki
6a4a59b783
Clang Import; Added test
2020-01-06 16:45:18 +01:00
Daniel Marjamäki
b03bdfaf72
Import Clang ast dump (experimental)
2020-01-05 15:12:53 +01:00
Daniel Marjamäki
cb9381e620
Makefile: Set debug mode
2019-12-21 12:10:10 +01:00
Daniel Marjamäki
077e652de4
1.90: Makefile
2019-12-21 11:51:10 +01:00
amai2012
3a71eb834d
Run xmllint on cppcheck-errors.rng. Speed up creation of example XML output for validateXML target
2019-12-02 22:03:59 +01:00
amai2012
0024c3e446
Run xmllint on cfg/cppcheck-cfg.rng
2019-11-17 16:25:10 +01:00
Daniel Marjamäki
33d43808f7
Run dmake
2019-10-30 18:38:37 +01:00
Sebastian
75e4e70ce4
Fix #9299 (Makefile: tools/matchcompiler.py is executed via Python 2) ( #2247 )
...
Check if "python" is available, if not check for "python3" and use
the available Python interpreter. If no Python interpreter is found,
"make" fails with an according error message.
This solves the issue that not all modern Linux distributions any longer
install Python 2 by default, so "python" is not available and
"make MATCHCOMPILER=yes" would fail. Instead of forcing the users to
install Python 2, Python 3 is used in such a case now if it is
available.
2019-10-08 10:55:40 +02:00
Daniel Marjamäki
7ab22c7176
ExprEngine: Use smt solver Z3
2019-10-02 17:59:04 +02:00
amai2012
16f1d8196b
Add validateRules target (xmllint) for rules/*.xml
2019-09-21 20:33:48 +02:00
Rikard Falkeborn
46ac0d79c1
Checkmemleakautovar: fix crash and FP ( #2196 )
...
This fixes crashes found by daca where valueType() is NULL. Also,
somewhat related, it removes warnings when casting to a type that is
unknown to cppcheck, for example, there is no longer a warning for the
following code:
void* f() {
void *x = malloc(1);
return (mytype)x;
}
2019-09-21 14:59:54 +02:00
Rikard Falkeborn
518bb5195c
dmake: Sort header dependencies ( #2182 )
...
Makes it simpler to check diffs, and prevents updates to Makefile due to
changes in header includes.
2019-09-19 09:26:59 +02:00
Daniel Marjamäki
2d651b09fc
ExprEngine: Add new experimental path-sensitive data flow analysis. Initially used for 'verification' but could possibly later be used as a complement in the normal analysis. The code is work-in-progress and hacky!
2019-09-17 21:00:59 +02:00
Rikard Falkeborn
afe05d019c
dmake: Improve dependency detection of external and cli includes ( #2163 )
...
Previously, external files were not searched at all, and dependencies
on header files in cli was not taken into account for test files.
To add dependency of headers in externals, we also need to search for
includes with angular brackets.
2019-09-10 10:32:36 +02:00