158 Commits

Author SHA1 Message Date
Oliver Stöneberg
45de338f1b
cleaned up includes based on include-what-you-use / iwyu.yml: updated to yet another distro to get the latest version and updated the Chaotic-AUR key (#5267)
This is a mess. The version is AUR is still outdated and also doesn't
install anymore. Fedora 38 carries the latest version of it so use that
now. Keep the old steps in case we need to switch again in the future.
2023-08-02 10:36:17 +02:00
chrchr-github
bb962e2bc3
Enable and mitigate readability-else-after-return (#5175) 2023-06-20 18:43:21 +02:00
chrchr-github
bc03bed075
#11733 FP unusedFunction with templates and --cppcheck-build-dir (#5085)
* #11733 FP unusedFunction with templates and --cppcheck-build-dir

* Add test
2023-05-26 06:13:48 +02:00
chrchr-github
cf4d59a835
Partial fix for #9602 False positives with function pointers (#5042)
* Partial fix for #9602 False positives with function pointers

* Add test for #9222
2023-05-14 12:16:17 +02:00
Daniel Marjamäki
46b9d4ec61
Fixed #11700 (Markup support is broken, unused function false positives) (#5025) 2023-05-03 11:19:13 +02:00
Oliver Stöneberg
8cf6a22ea3
cleaned up includes based on include-what-you-use (#5021) 2023-04-30 07:33:19 +02:00
Oliver Stöneberg
f5e51eace7
do not use string-to-integer conversions without error handling (#4906) 2023-04-08 22:29:09 +02:00
Oliver Stöneberg
1f2b49142e
extracted single job execution into SingleExecutor / improved testing / do not unconditionally apply colors to output (#4882)
* added `Settings::useSingleJob()` and use it instead of checking `jobs` or `jointSuppressionReport`

* extracted single job execution into `SingleExecutor`

* moved `reportStatus()` from `CppCheckExecutor` to Èxecutor

* TestSingleExecutor: improved tests

* added testing of markup extension handling in executors

* cleaned up includes based on `include-what-you-use`

* testsingleexecutor.cpp: suppress `performance-unnecessary-value-param` clang-tidy warnings

* ProcessExecutor: send color via pipe instead of applying it beforehand

* do not unconditionally apply colors to output / disable all colors in tests / adjusted tests for changed output behavior

* fixed precision loss in `Executor::reportStatus()`

* fixed `naming-varname` selfcheck warnings
2023-04-08 18:06:38 +02:00
Oliver Stöneberg
5be8eee943
iwyu.yml: use a distro which has the latest include-what-you-use / enabled Qt mappings / cleaned up includes (#4885) 2023-04-08 16:08:47 +02:00
Oliver Stöneberg
bd1ae69b00
cleaned up includes based on include-what-you-use (#4599) 2023-03-02 21:50:14 +01:00
Daniel Marjamäki
464fbe8d53 Update copyright year 2023-01-28 10:16:34 +01:00
Oliver Stöneberg
a8fd5cbaf4
added entrypoint to library configuration and got rid of hard-coded ones (#4691) 2023-01-18 20:52:33 +01:00
chrchr-github
a102ff3c2f
Fix #11485 FN unusedFunction / Fix #7739 FP unusedFunction (#4707) 2023-01-14 20:16:55 +01:00
chrchr-github
911d610f2d
Fix #11486 FN unusedFunction when enum value with same name exists (#4690) 2023-01-08 14:30:42 +01:00
Oliver Stöneberg
1cfe49e340
use const_iterator where possible (#4662) 2022-12-30 15:13:47 +01:00
Oliver Stöneberg
3c68b9b29f
use cbegin() and cend() with const_ierator loops (#4658) 2022-12-20 20:32:16 +01:00
Oliver Stöneberg
7ead32f96e
various optimizations (#4535)
* avoid potentially duplicated `strTolower()` call in `Path::getFilenameExtensionInLowerCase()`

* avoid unnecessary copies

* use `unordered_*` containers for faster lookups

* symboldatabase.cpp: do not perform call in `checkReturns()` until needed

* astutils.cpp: do not perform calls in `isVariableChangedByFunctionCall()` until necessary

* tokenize.cpp: small `hasIfDef()` optimization

* use `unordered_map` for `CheckUnusedFunctions::FunctionUsage::mFunctions` / adjusted test case
2022-10-06 20:12:07 +02:00
Oliver Stöneberg
eeb6db05f1
avoid some unnecessary object creations and copies (#4493) 2022-09-29 21:47:17 +02:00
Oliver Stöneberg
dc03a50414
some small cleanups and refactorings (#4488)
* moved `plistFile` from `ErrorLogger` to `CppCheck`

* got rid of global CWE objects

* lib/CMakeLists.txt: suppress some `-Wfloat-equal` clang warning in matchcompiled builds as well

* lib/CMakeLists.txt: moved a loop into proper block

* test/CMakeLists.txt: simplified `add_fixture`

* test/CMakeLists.txt: moved `fixture_cost`

* fixed `naming-privateMemberVariable` selfcheck warning
2022-09-24 11:59:13 +02:00
chrchr-github
dcb332acb0
Fix #9406 FN redundant assignment of Boolean variable (#4482)
* Fix #9406 FN redundant assignment of Boolean variable

* Fix warning, refactor

* Update testcondition.cpp
2022-09-20 07:30:12 +02:00
Oliver Stöneberg
b3ec225480
iwyu.yml: use debian:unstable to always get latest include-what-you-use / cleaned up includes (#4466)
* iwyu.yml: use debian:unstable to always get latest include-what-you-use

* cleaned up includes based on include-what-you-use

* mitigated include-what-you-use false positives
2022-09-16 07:15:49 +02:00
Oliver Stöneberg
d46ea7ba86
avoid unnecessary copies with push_back() and push_front() (#4451) 2022-09-08 09:21:35 +02:00
Oliver Stöneberg
16f598c409
added missing sstream includes (#4381) 2022-08-19 10:16:23 +02:00
Oliver Stöneberg
b65b47d3a8
enabled and fixed modernize-pass-by-value clang-tidy warnings (#4169) 2022-07-28 22:51:45 +02:00
chrchr-github
53cd3dc665
Fix #10661 FP extern function reported as unused (#4279) 2022-07-14 20:59:58 +02:00
Oliver Stöneberg
4a63af02ed
enabled functionConst and functionStatic in selfcheck (#3862)
* fixed functionConst findings and enabled it in selfcheck

* fixed functionStatic findings and enabled it in selfcheck

* .travis_suppressions: adjusted comment

* testimportproject.cpp: added missing asserts
2022-03-02 07:46:47 +01:00
Daniel Marjamäki
3989408738 Update copyright year 2022-02-05 11:45:17 +01:00
Oliver Stöneberg
171da2e6f9
avoid dependency on transitive includes - based on include-what-you-use (#3757) 2022-01-27 19:03:20 +01:00
Oliver Stöneberg
55ff684f34
added unusedFunction self check to CI / cleanups (#3526) 2022-01-18 22:02:25 +01:00
Daniel Marjamäki
29bbb4ce14 Fixed #9220 (False positive: Unused function check for template parameter) 2021-09-12 20:27:49 +02:00
Paul Fultz II
7f358b2bed
Format with uncrustify (#3388) 2021-08-07 20:51:18 +02:00
Oliver Stöneberg
6397e29f84
cleaned up includes based on include-what-you-use (#3141) 2021-04-03 21:30:50 +02:00
Daniel Marjamäki
42437277dc Update Copyright year 2021-03-21 20:58:32 +01:00
PKEuS
141d2ac215 Refactorization: Improved internal implementation of severity and certainty levels
Backported from LCppC.
2021-02-24 22:00:06 +01:00
vilarion
2c34e660b3
Fix #9805 (False positive; Unused function (template)) (#2871)
* Add test
* Ignore templates with trailing return type as well
2020-11-01 15:10:02 +01:00
Oliver Stöneberg
37bc0483a4
made check.h less heavy (#2633) 2020-05-23 07:16:49 +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 6eec6c4bd53d42e3a1179fd3a8a7dae5a43d4d50.
2020-05-10 11:13:05 +02:00
Daniel Marjamäki
6eec6c4bd5 Update copyright year 2020-05-10 11:11:34 +02:00
Oliver Stöneberg
1af959af2c
fixed -Wextra-semi-stmt Clang warnings (#2553)
* fixed -Wextra-semi-stmt Clang warnings

* adjusted REDIRECT macro to require a semicolon

* testmathlib.cpp: rolled back accidental change
2020-04-21 17:27:51 +02:00
Daniel Marjamäki
004d7d5333 Fixed #8580 (False positive: unused function (lambda)) 2019-04-27 17:17:51 +02:00
Daniel Marjamäki
6fcef867a1 Refactoring; use range for loops 2019-04-27 17:04:14 +02:00
Daniel Marjamäki
bd7790fd8c Update copyright year 2019-02-09 07:24:06 +01:00
Daniel Marjamäki
271763e680 CTU: Refactoring 2018-12-25 21:11:23 +01:00
Daniel Marjamäki
1f1c44a04f Fixed #8677 (False positive: unused method) 2018-08-08 11:31:35 +02:00
Daniel Marjamäki
2a495184d2 Rename private member variables 2018-06-17 18:58:27 +02:00
Daniel Marjamäki
79ffe1d4fc Rename _tokenizer, _settings, _errorLogger 2018-06-16 16:10:28 +02:00
Matthias Krüger
4c8bb9ac6f fix a few typos 2018-05-14 13:11:59 +02:00
Sebastian
f0646d3754 checkunusedfunctions.cpp: Fix files.txt parsing (#1197)
On Windows searching for the last colon finds the colon which is part of
the path of the source file (e.g. "C:/projects/a.cpp"). Thus the path is
saved incomplete. This fix searches for the second instead of the last
colon and uses the data after the second colon as the path of the source
file.
2018-05-01 08:09:11 +02:00
Daniel Marjamäki
f336c2efe7 Refactoring; Renamed Scope::classStart and Scope::classEnd 2018-04-27 22:36:30 +02:00