Oliver Stöneberg
693702d98d
compilerDefinitions.cmake: fixed faulty `add_compile_definitions()` value for MSVC ( #5690 )
...
also fixes `<command line>(7,9): error : macro name must be an
identifier` with `clang-cl` allowing the build to complete
2023-11-22 11:02:35 +01:00
chrchr-github
8b6cbe2e9e
Fix crash in SymbolDatabase::addClassFunction() (f'up to #12209 ) ( #5689 )
2023-11-21 12:57:38 +01:00
Oliver Stöneberg
2b61c9ef2f
Tokenizer: moved `VariableMap` into anonymous namespace ( #5686 )
2023-11-21 11:35:17 +01:00
chrchr-github
f5630e7049
Fix #12209 "debug: Executable scope 'x' with unknown function." with anonymous namespace ( #5688 )
2023-11-20 22:28:38 +01:00
chrchr-github
f9521cfb4e
Fix #12208 FN constParameterReference with nested struct/class ( #5685 )
2023-11-20 22:01:22 +01:00
andymacg
f444696d5c
Fix #12198 : Expect function pointers in Misra 17.7 check ( #5675 )
2023-11-20 20:19:20 +01:00
chrchr-github
d09a6514cd
Fix #11012 FP unassignedVariable when passed in init list ( #5684 )
2023-11-20 19:43:29 +01:00
chrchr-github
d7c7a39afe
Fix crash in CheckLeakAutoVar (f'up to #12186 ) ( #5683 )
2023-11-20 18:26:05 +01:00
Daniel Marjamäki
036df0aca9
Fix #12181 (Suppressions: allow that id with * is added) ( #5681 )
2023-11-20 11:54:41 +01:00
Oliver Stöneberg
3bafe164a3
enabled some clang-tidy warnings for non-GUI code ( #5679 )
...
There are some clang-tidy warnings which cannot properly handle the
extensions used in the Qt code so the produce lots of false positives
and were previously enabled. With clang-tidy now offering the
possibility to inherit the parent configuration we can enable these
across the project and simply disable them for the GUI code.
No additional warnings were found as they were already fixed in earlier
commits without enabling the checks in question.
2023-11-20 10:06:46 +01:00
Oliver Stöneberg
92c089d4ad
fixed some "Parameter can be made pointer/reference to const" Rider warnings ( #5680 )
2023-11-20 07:23:45 +01:00
chrchr-github
cd21918520
Fix FP memleak with outparam allocation (f'up to #12186 ) ( #5677 )
...
I wonder if it is worth trying to get this right. We also have FPs when
the return value is assigned to a variable, and that seems much harder
to fix.
2023-11-19 19:51:32 +01:00
Oliver Stöneberg
4addad1643
moved settings-related code from `CppCheckExecutor` to `CmdLineParser` ( #5672 )
...
`CppCheckExecutor` contains some code which is not related to the
execution but actually to the creation of the settings. This is causing
inconsistencies in the error handling/logging as well as interfering
with the testability.
2023-11-19 19:45:10 +01:00
Daniel Marjamäki
56c7ac3771
Fix #12182 (speedup valueFlow by only running valueFlowNumber once) ( #5678 )
2023-11-19 18:56:48 +01:00
chrchr-github
61bd8fddbf
Partial fix for #11469 FP mismatchingContainerExpression warning ( #5674 )
2023-11-17 17:12:38 +01:00
chrchr-github
3e47acd580
Fix FP memleak (f'up to #12186 ) ( #5671 )
2023-11-16 18:35:32 +01:00
chrchr-github
4b9f3c68fb
Fix #12188 FN uninitvar with increment of struct member ( #5665 )
2023-11-16 18:11:12 +01:00
chrchr-github
831aec5c03
Fix #12185 FN constVariablePointer with stream ( #5659 )
2023-11-16 17:43:20 +01:00
Daniel Marjamäki
e01e090f1c
Fix #10866 (no preprocessorErrorDirective and code generated in case of unconditional #error) ( #5670 )
2023-11-16 17:25:49 +01:00
Oliver Stöneberg
e47300016b
moved some classes/structs into anonymous namespace ( #5669 )
2023-11-16 15:49:41 +01:00
chrchr-github
63a5a71c20
Fix #12186 FN memleak with outparam allocation ( #5661 )
2023-11-16 15:23:40 +01:00
Oliver Stöneberg
9cf0342f9d
optimized `ProgramMemory` a bit ( #5668 )
...
Scanning `common/file.c` of the `xrdp` project with `--force --std=c11
--std=c++11 --inline-suppr --enable=warning`:
Clang 16 `4,208,373,435` -> `4,156,024,955`
GCC 13 `4,336,042,153` -> `4,277,293,971`
2023-11-16 14:35:25 +01:00
chrchr-github
85172fe770
Don't report checkLibraryUseIgnore for known functions (refs #7719 ) ( #5664 )
2023-11-16 14:23:08 +01:00
Swasti Shrivastava
1ce901385a
Fix #12172:False positive: misra-11.1 function pointer assigned to array ( #5667 )
2023-11-16 13:57:27 +01:00
Oliver Stöneberg
682901ac2a
fixed #10760 - added file name to ValueFlow `--debug` output ( #5655 )
2023-11-16 13:44:50 +01:00
Oliver Stöneberg
8b69ccadd4
CppCheckExecutor: extracted logging instance related code into separate implementation class ( #5658 )
2023-11-16 10:35:43 +01:00
Swasti Shrivastava
81a03e7341
Fix #12184 : false positive: misra 11.6, cast expression '0U' to 'void*' ( #5666 )
2023-11-16 09:06:58 +01:00
Daniel Marjamäki
ae3f7bd800
Fixed #12187 (Windows build GUI with cmake) ( #5662 )
2023-11-15 16:56:46 +01:00
Oliver Stöneberg
d3a8eb1ae2
config.h: improved and cleaned up some preprocessor checks ( #5663 )
2023-11-15 15:31:12 +01:00
Oliver Stöneberg
e7f8985173
disabled some expensive and/or unnecessary clang-tidy checks ( #5660 )
...
Running clang-tidy with `--enable-check-profile` provides an overview of
the run-time of each check. This revealed some checks which take a
considerable amount of time which could be disabled.
Here's the times for the checks in question. The times are very similar
across most files:
```
---User Time--- --System Time-- --User+System-- ---Wall Time--- --- Name ---
...
0.4531 ( 4.7%) 0.3906 ( 6.1%) 0.8438 ( 5.2%) 0.8127 ( 5.1%) misc-unused-using-decls
...
0.3281 ( 3.4%) 0.2344 ( 3.7%) 0.5625 ( 3.5%) 0.4509 ( 2.8%) modernize-macro-to-enum
...
0.2188 ( 2.2%) 0.2031 ( 3.2%) 0.4219 ( 2.6%) 0.3621 ( 2.3%) modernize-use-nullptr
```
2023-11-15 11:24:25 +01:00
chrchr-github
3bd5a034bd
Fix #12176 false positive: unassignedVariable ( #5656 )
2023-11-14 12:26:12 +01:00
chrchr-github
6ac804d209
Fix #12178 extern "C++" scope generates valueflow ( #5654 )
2023-11-14 10:02:41 +01:00
Oliver Stöneberg
9228b9e424
iwyu.yml: fixed `include-what-you-use` job / cleaned up includes ( #5657 )
...
As usual when the base clang version of a distro changes iwyu ends up
broken and needs additional packages and/or options applied to work
again.
2023-11-13 23:24:06 +01:00
Stefan van Kessel
d3520943ad
Minor: fix msvc warning "not all control paths return a value" ( #5650 )
...
When building with /Od - default cmake debug build for me, the
__assume(false); trick does not work to get rid of the C4714 warnings
https://godbolt.org/z/a6xGnfP7d
D:\tmp\cppcheck\lib\keywords.cpp(205): warning C4715:
'Keywords::getOnly': not all control paths return a value
D:\tmp\cppcheck\lib\keywords.cpp(226): warning C4715:
'Keywords::getOnly': not all control paths return a value
D:\tmp\cppcheck\lib\keywords.cpp(168): warning C4715:
'Keywords::getAll': not all control paths return a value
D:\tmp\cppcheck\lib\keywords.cpp(188): warning C4715:
'Keywords::getAll': not all control paths return a value
Proposed fix: also define NORETURN to [[noreturn]] when according to
__has_cpp_attribute [[noreturn]] is supported
https://en.cppreference.com/w/cpp/feature_test
(For previous discussion see also
https://github.com/danmar/cppcheck/pull/5497 )
2023-11-12 17:30:06 +01:00
orbitcowboy
b201ef26cb
windows.cfg: Improved configuration of OpenThread() ( #5653 )
2023-11-12 11:37:29 +01:00
chrchr-github
a6b7a8c1cc
Fix #12170 FP knownPointerToBool with function pointer ( #5646 )
2023-11-12 10:20:18 +01:00
chrchr-github
212d2141d3
Fix #12173 FP danglingTempReference with loop over init list ( #5652 )
2023-11-12 10:19:45 +01:00
orbitcowboy
f4df28d5ec
windows.cfg: Improved configuration for OpenProcess(). ( #5651 )
2023-11-11 14:08:21 +01:00
chrchr-github
2d232dcaac
Fix varid0 with rvalue reference typedef ( #5649 )
2023-11-11 10:09:08 +01:00
chrchr-github
328daeceb4
Fix #11334 debug: varid0 with anonymous union ( #5648 )
2023-11-11 10:01:03 +01:00
Daniel Marjamäki
282c195a6f
Fix #12169 (False positive: wrong misra-config variable with accessing object in memory) ( #5645 )
2023-11-09 12:25:42 +01:00
Oliver Stöneberg
b0cde34d1a
refs #12167 - moved ordering of markup files into shared code / removed related test cases from executor tests ( #5642 )
...
This is not completely fixing the issue yet. `test-qml.py` still fails
when using multiple threads.
2023-11-09 10:17:30 +01:00
chrchr-github
d24074f7b1
Fix #12166 debug: varid0 with reference typedef ( #5643 )
...
Why do we even split any declarations in the first place?
2023-11-09 10:11:34 +01:00
Daniel Marjamäki
780b742568
Fix #12165 (simplifyTypedef: the "enum" token is not inserted) ( #5641 )
2023-11-09 07:48:33 +01:00
chrchr-github
30bf5cac0a
Partial fix for #12162 false negative: functionConst ( #5639 )
2023-11-08 22:37:45 +01:00
Daniel Marjamäki
8f432880fa
Fix #12164 (False positive: operator precedence warning even though there are parentheses) ( #5640 )
2023-11-08 18:54:40 +01:00
Daniel Marjamäki
617b7a39cd
Fix #12163 (misra.py: crashes when ctu-info line does not have certain attributes) ( #5638 )
2023-11-08 15:23:50 +01:00
chrchr-github
1fa785d81d
Fix #12159 FP CastAddressToIntegerAtReturn with std::future ( #5634 )
2023-11-08 13:12:50 +01:00
Oliver Stöneberg
f61003d954
scriptcheck.yml: make dmake a separate job and run it on multiple platforms ( #5632 )
...
This is essentially an unit test for the `FileLister` so we should make
sure we have proper coverage.
2023-11-08 09:29:40 +01:00
Oliver Stöneberg
2a15428096
fixed #12059 - added `--fsigned-char` and `--funsigned-char` command-line options ( #5580 )
2023-11-08 09:28:33 +01:00