Daniel Marjamäki
9172f2ab3b
addons; add CTU infrastructure
2021-07-07 10:58:13 +02:00
yyny
3e6681e2b3
Fix assertion failure in errorlogger.cpp ( #3318 )
2021-07-05 08:08:15 +02:00
Daniel Marjamäki
7dbca470f7
Suppressions; Fixed problem with cppcheck build dir is used
2021-06-12 18:19:00 +02:00
Daniel Marjamäki
abb4200316
Fixed #10196 ("Unhandled char constant 'x'" with non-standard escape character)
2021-05-08 12:54:18 +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
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
Daniel Marjamäki
42437277dc
Update Copyright year
2021-03-21 20:58:32 +01:00
Daniel Marjamäki
c9bc5a076f
Fixed #10014 (-U switch ignored when using --project=compile_commands.json and --force)
2021-02-28 21:43:51 +01:00
PKEuS
141d2ac215
Refactorization: Improved internal implementation of severity and certainty levels
...
Backported from LCppC.
2021-02-24 22:00:06 +01:00
PKEuS
1a7595e29b
Bugfix: Apply --relative-paths also to preprocessor errors
...
Merged from LCppC
2021-02-18 22:35:55 +01:00
Daniel Marjamäki
68537e4fc3
Fixed #9867 (No dump file is generated (clang))
2021-02-06 19:06:05 +01:00
Oliver Stöneberg
fbf5858f76
fixed and enabled several clang-tidy warnings ( #2816 )
2021-01-02 19:10:25 +01:00
Daniel Marjamäki
f37274a5c0
ClangImport: Improved error handling
2020-12-31 17:37:14 +01:00
Daniel Marjamäki
1e9f67936e
Cppcheck: Fix; Do not run clang twice
2020-12-29 12:43:21 +01:00
Daniel Marjamäki
7719b27e44
Cppcheck: Print clang command when --verbose is used and build dir is empty
2020-12-29 10:20:46 +01:00
Daniel Marjamäki
2898a2925d
Cppcheck: Using both --clang and --project
2020-12-29 10:15:38 +01:00
Daniel Marjamäki
b94a6d595a
Fixed #9295 (ValueFlow: Does not handle noreturn function)
2020-12-28 20:00:35 +01:00
Daniel Marjamäki
e7c462b827
Refactoring; Avoid 'unsigned'
2020-12-27 21:05:31 +01:00
Paul Fultz II
bf00d521d7
Show which rules are being processed ( #2916 )
2020-11-22 08:46:50 +01:00
Daniel Marjamäki
b7f812739c
astyle formatting
2020-11-13 15:52:57 +01:00
Falital
2e2d4a0055
Added Hash to plist file names ( #2898 )
2020-11-13 15:52:24 +01:00
Jesse Boswell
f70e8de315
Fix #9567 (Inline suppression of unusedFunction errors not working when using compile database) ( #2870 )
2020-11-04 21:01:48 +01:00
Oliver Stöneberg
7189b303ae
fixed some modernize-loop-convert clang-tidy warnings ( #2815 )
2020-09-21 19:30:47 +02:00
Daniel Marjamäki
c7aed8bd0e
astyle formatting
2020-09-06 07:47:17 +02:00
Oliver Stöneberg
fb37137216
extended the --clang command-line option so you can specify a custom … ( #2734 )
2020-09-06 07:46:51 +02:00
Daniel Marjamäki
7d01ad5b50
add test-clang-import that compares symboldatabases
2020-09-04 15:29:19 +02:00
Daniel Marjamäki
d23fd26ce0
Cppcheck: Try to fix addon problems when paths have spaces
2020-08-30 18:15:48 +02:00
Daniel Marjamäki
0583763cc6
Fixed #3088 (False positive: Dont report "struct or union member is never used" for structs with __attribute__((packed)) or #pragma pack(push))
2020-06-30 11:00:40 +02:00
Paul Fultz II
eed2e829a7
Revert "Cleanup: Removed Tokenizer::simplifyTokenList2. As a side-effect, rules for "simple" token list are now executed on normal token list." ( #2666 )
...
This reverts commit 187cde183d
.
2020-05-30 11:23:22 +02:00
PKEuS
187cde183d
Cleanup: Removed Tokenizer::simplifyTokenList2. As a side-effect, rules for "simple" token list are now executed on normal token list.
2020-05-29 21:21:07 +02:00
Daniel Marjamäki
eb9576cdf8
CLI: 'simple' rules are deprecated, support will be removed in Cppcheck-2.5
2020-05-29 14:20:46 +02:00
Daniel Marjamäki
208e2c7fdf
Clang parser; only set cpp std if path is c++
2020-05-27 21:06:27 +02:00
Daniel Marjamäki
60c7b66636
Clang import; do not use FileSettings::cppcheckDefines() when Clang parser is used
2020-05-26 20:46:41 +02:00
Daniel Marjamäki
d70911c801
ImportProject: Read --std settings from vcxproj file
2020-05-25 21:43:24 +02:00
Daniel Marjamäki
31324573fa
Clang import; Update ast dump flags. Use -Xclang.
2020-05-24 10:52:43 +02:00
Daniel Marjamäki
4e2f8d5d48
astyle formatting
...
[ci skip]
2020-05-23 07:30:22 +02:00
Oliver Stöneberg
37bc0483a4
made check.h less heavy ( #2633 )
2020-05-23 07:16:49 +02:00
Ken-Patrick Lehrmann
79d3f488da
Pass defines flags when calling clang ( #2651 )
2020-05-20 14:56:55 +02:00
Daniel Marjamäki
64291c6b61
fix Clang execution
2020-05-19 19:17:23 +02:00
Daniel Marjamäki
32e569704b
executeCommand in CppCheckExecutor or QCheckThread
2020-05-19 16:04:40 +02:00
PKEuS
c9d8f607df
Optimization: Reduced peak memory usage (30% in my test case) by immediately deleting simplecpp::TokenList while creating the cppcheck TokenList.
2020-05-19 12:08:17 +02:00
Daniel Marjamäki
37646c9ffb
revert accidental mode changes
2020-05-19 10:05:14 +02:00
PKEuS
f0ac0c8675
Optimization: Remove simplecpp::TokenList as soon as cppecheck TokenList was created. This saves memory while checks are running (20% in my test case), although not peak memory
2020-05-19 08:41:05 +02:00
Daniel Marjamäki
65e9f6210c
CLI: Tweak execution of python addons
2020-05-19 08:14:56 +02:00
Daniel Marjamäki
f6f489ea49
Try to make AppVeyor happy
2020-05-18 09:51:47 +02:00
Daniel Marjamäki
aa7a4b8372
Try to make AppVeyor happy
2020-05-18 08:24:17 +02:00
Daniel Marjamäki
a0f2fda53a
Addons: If normal python fails, try 'python'
2020-05-18 07:44:46 +02:00
Daniel Marjamäki
2ef538c171
Tweak paths when executing addons in Cppcheck
2020-05-17 21:45:37 +02:00
Daniel Marjamäki
547d1b158e
Fixed #9723 (GUI: inline suppressions does not work for addons)
2020-05-17 16:50:13 +02:00
Daniel Marjamäki
08ddd84780
Update copyright year
2020-05-10 11:16:32 +02:00
Daniel Marjamäki
3e0218299b
Revert "Update copyright year"
...
This reverts commit 6eec6c4bd5
.
2020-05-10 11:13:05 +02:00
Daniel Marjamäki
6eec6c4bd5
Update copyright year
2020-05-10 11:11:34 +02:00
Daniel Marjamäki
387f0a268b
Clang import: Better bailout for syntax errors when build dir is not used
2020-04-22 10:27:44 +02:00
Daniel Marjamäki
05dcb9a435
Clang import; Allow Clang import without a Cppcheck build dir
2020-04-21 22:26:34 +02:00
Oliver Stöneberg
2c1e36e63e
cleaned up includes based on include-what-you-use ( #2600 )
...
* cleaned up includes based on include-what-you-use
* check.h: trying to work around Visual Studio 2012 bug
* fixed Visual Studio compilation
2020-04-13 13:44:48 +02:00
Daniel Marjamäki
e1543587e0
Clang import; Bailout if clang reports error message
2020-04-13 12:52:24 +02:00
Daniel Marjamäki
189cf29597
astyle formatting
...
[ci skip]
2020-04-05 10:57:51 +02:00
Sam Lane
60f9fefcd4
Add Support For Configuring Addon Python Interpreter Version ( #2591 )
2020-04-05 10:57:28 +02:00
Daniel Marjamäki
a9f55f4985
CLI: add -isystem include paths when running Clang
2020-02-02 16:35:42 +01:00
Daniel Marjamäki
894497e704
CLI: Checking imported project with clang
2020-02-02 14:36:33 +01:00
Daniel Marjamäki
632dc0f141
GUI: Select parser; Cppcheck or Clang
2020-02-02 10:45:42 +01:00
Daniel Marjamäki
fb38e87bf4
astyle formatting
...
[ci skip]
2020-01-31 14:13:52 +01:00
fuzzelhjb
b0ce3e4c0c
Support clang tidy ( #2512 )
2020-01-31 14:10:27 +01:00
fuzzelhjb
d82da987e5
Support clang tidy ( #2486 )
2020-01-30 07:14:17 +01:00
Daniel Marjamäki
37f4ec5bbe
Clang import; Write error message when Clang is not in path
2020-01-27 18:26:17 +01:00
Daniel Marjamäki
b6833b525f
Clang import
2020-01-25 17:01:17 +01:00
Daniel Marjamäki
6beadd9eb9
Restore cppcheck.cpp
2020-01-25 16:14:56 +01:00
Daniel Marjamäki
f911495db3
Clang import; Handle clang-9 while loop better
2020-01-25 16:10:13 +01:00
Daniel Marjamäki
0929c3cced
Cleanup code, CppCheck::checkNormalTokens executes the bug hunting code
2020-01-24 20:37:24 +01:00
Daniel Marjamäki
7db54bde6f
Run normal checks on --clang output
2020-01-24 18:04:39 +01:00
Daniel Marjamäki
bdc621b7a3
Clang import; MaterializeTemporaryExpr
2020-01-20 21:27:49 +01:00
versat
0cf82d6d45
cppcheck.cpp: Fix reserved name "stderr"
...
Using "stderr" as variable name results in build errors on Windows.
2020-01-20 11:12:23 +01:00
Daniel Marjamäki
8ac2cdd9ff
Clang import; If there are syntax errors then abort analysis
2020-01-19 17:30:57 +01:00
Daniel Marjamäki
0eccffe8e3
--clang; require that --cppcheck-build-dir. output files are needed.
2020-01-19 12:33:17 +01:00
Daniel Marjamäki
f7a30fc99f
Rename Verification => Bughunting
2020-01-18 07:25:57 +01:00
Daniel Marjamäki
7820b5dbcc
Rename 'Verification' to 'Bug hunting'
2020-01-14 21:17:07 +01:00
Daniel Marjamäki
1e207e42c5
CppCheck: Try to handle '"' properly in split()
2020-01-12 17:13:26 +01:00
Daniel Marjamäki
380cc78077
Clang; Run ValueFlow
2020-01-11 14:00:41 +01:00
Daniel Marjamäki
6b983a9587
Revert ValueFlow changes, there was unexpected problems in testrunner
2020-01-11 13:11:19 +01:00
Daniel Marjamäki
052eaba632
Clang; run ValueFlow analysis
2020-01-11 13:04:51 +01:00
Daniel Marjamäki
9c38a659a1
Clang import; Fixed CXXConstructExpr without child
2020-01-11 12:16:48 +01:00
Daniel Marjamäki
4c778e0999
Clang import; Rename files/namespace
2020-01-10 16:29:06 +01:00
Daniel Marjamäki
729fca8728
Clang import; handle locations better, only expand function bodies in source file
2020-01-10 14:59:34 +01:00
Daniel Marjamäki
34a26c7dd7
Clang import; Pass include paths to clang
2020-01-09 19:15:01 +01:00
Daniel Marjamäki
98e700e30d
Clang import; Tweaks
2020-01-09 14:13:39 +01:00
Daniel Marjamäki
90e7a94ff4
Clang importer; Allow throw
2020-01-09 13:58:14 +01:00
Daniel Marjamäki
3d2d4c5cbd
Clang import; Tweaks
2020-01-09 10:49:47 +01:00
Daniel Marjamäki
c4c929a6a7
Clang import: StringLiteral, funcdecl3, determine includes with clang -v
2020-01-08 16:36:51 +01:00
Daniel Marjamäki
0b765cd253
Clang importing; Use ValueFlow
2020-01-05 19:21:13 +01:00
Daniel Marjamäki
211af1d4fe
Clang import: debug output
2020-01-05 16:58:13 +01:00
Daniel Marjamäki
bc17b9a1be
Importing Clang ast dump: Run ValueFlow analysis
2020-01-05 16:23:02 +01:00
Daniel Marjamäki
b03bdfaf72
Import Clang ast dump (experimental)
2020-01-05 15:12:53 +01:00
Daniel Marjamäki
4b4f7ea60b
Verification; Updated report
2019-12-27 19:05:22 +01:00
Daniel Marjamäki
caab1e61bb
Fixed #9542 (Better error handling for --addon)
2019-12-17 12:00:01 +01:00
Maksim Derbasov
68a67a910e
Remove .dump file after plugins execution ( #2451 )
2019-12-17 08:40:59 +01:00
Sebastian
95696ead23
Catch preprocessor errors possibly issued during loading files ( #2430 )
...
* Also catch preprocessor errors possibly issued during loading files
Currently only errors that are issued during preprocessing are caught.
* Bump simplecpp, implement suggestions
Use return value checking instead of catching an exception for calling
Preprocessor::loadFiles().
Handle new enum value simplecpp::Output::EXPLICIT_INCLUDE_NOT_FOUND
where the corresponding enum is used in Cppcheck.
* Use "noloc" location if an explicit include can not be opened
2019-12-09 19:16:55 +01:00
Sebastian
c990d10ffa
Check for JSON error when parsing addon .json files + fixes ( #2374 )
...
* cppcheck.cpp: Check for JSON error when parsing addon .json files
This fixes that errors in JSON files given via `--addon=*.json` are
silently ignored and maybe only a part of the JSON file is used.
Now the error message which picojson can return is checked and a
corresponding error message is returned again by getAddonInfo().
* naming.json: Fix missing comma
* CLI: Fix naming violations detected by addon naming.py via naming.json
* Addon naming: Add argument for validating names of constants
* LIB: Rename functions/variables so they are valid, loosen naming rules
* GUI: Fix naming violations
2019-11-20 15:37:09 +01:00
Daniel Marjamäki
81fff2edf1
Fixed #9464 (Import compile database; only check given configuration)
2019-11-09 17:51:42 +01:00
Oliver Stöneberg
9028b4a81d
do not access static methods through instance ( #2189 )
2019-09-20 21:54:30 +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