Oliver Stöneberg
30131837b5
refs #11603 - deprecated `--enable=information` implicitly enabling `missingInclude` ( #4865 )
2023-03-09 20:04:20 +01:00
chrchr-github
c76b05ad75
Fix #11607 FP constVariable with auto and std::map ( #4877 )
2023-03-09 20:01:50 +01:00
chrchr-github
6e1cc11eff
Fix #11606 internalAstError with empty initializer list ( #4875 )
2023-03-09 20:01:06 +01:00
Mateusz Michalak
2d5cabed4b
Add std::*begin and std::*end cfg ( #4796 )
2023-03-09 17:06:53 +01:00
Paul Fultz II
9351eddbca
Fix 11605: FN useStlAlgo with multiple conditions ( #4873 )
2023-03-09 17:06:27 +01:00
Daniel Marjamäki
b0e8ed3117
dump: add more template info to dumpfile
2023-03-08 18:59:34 +01:00
chrchr-github
f2238e717b
Fix crash in isTemporary() ( #4866 )
2023-03-07 12:44:54 +01:00
Oliver Stöneberg
00fd3d92c6
made `ForwardTraversal::mSettings` and `ReverseTraversal::mSettings` references / adjusted some calling code to use references as well ( #4858 )
2023-03-07 12:26:17 +01:00
Oliver Stöneberg
63f439dc1e
enabled and fixed `performance-noexcept-move-constructor` clang-tidy warnings ( #4864 )
2023-03-07 12:24:01 +01:00
Oliver Stöneberg
20db3ff368
SymbolDatabase: made `mTokenizer` and `mSettings` references ( #4857 )
2023-03-07 12:22:06 +01:00
Oliver Stöneberg
a3cacf1ba1
TemplateSimplifier: made `mTokenizer` and `mSettings` references ( #4856 )
2023-03-07 12:12:31 +01:00
Daniel Marjamäki
e8e00d8fdf
Unused Var: Fix FP when initialization is made in macro
2023-03-05 15:31:53 +01:00
Oliver Stöneberg
ad6c5d80ff
removed unused `ErrorLogger::reportInfo()` / small `*Executor` cleanup ( #4852 )
2023-03-04 17:29:34 +01:00
Oliver Stöneberg
a00b6e1f8a
simplified `ThreadExecutor` class by moving some code out of it / fixed some thread safety issues ( #4849 )
2023-03-04 12:05:17 +01:00
chrchr-github
9291421840
Fix #11595 FN useStlAlgorithm with complex condition ( #4848 )
2023-03-04 11:58:12 +01:00
chrchr-github
b4c90f8b2a
Fix #11597 FP uninitvar with nested enum ( #4847 )
2023-03-04 11:57:12 +01:00
Daniel Marjamäki
350a1f2dfc
AST: do not produce AST for function pointer declaration 'void *(*var[2])(int)'
2023-03-04 11:09:55 +01:00
Daniel Marjamäki
f4e0ae3b84
Tokenizer: Improved removing of function pointer arguments to avoid false positives
2023-03-04 11:09:55 +01:00
Oliver Stöneberg
7fd4118d60
Fix #10039 (integrate `--check-config` include findings with normal analysis) / also fixes #11283 ( #3229 )
2023-03-04 09:02:35 +01:00
Oliver Stöneberg
50eb0641b9
iwyu.yml: added `clang-include-cleaner` job / cleaned up includes based on `include-what-you-use` ( #4844 )
2023-03-04 08:53:19 +01:00
Oliver Stöneberg
0ec2d84f1a
optimized suppression lookups a bit when no suppressions exist ( #4839 )
2023-03-03 18:37:09 +01:00
Oliver Stöneberg
5af6ca6637
made `Platform` a member of `Settings` instead of inheriting from it / cleanups ( #4791 )
2023-03-03 18:36:27 +01:00
Oliver Stöneberg
8023eff7c0
removed `TokenList::getSettings()` and replaced usage in ValueFlow with provided settings ( #4843 )
2023-03-03 18:31:38 +01:00
Oliver Stöneberg
f9c67ef907
fixed `functionConst` selfcheck warnings ( #4846 )
2023-03-03 11:02:51 +01:00
Oliver Stöneberg
b70e1d5461
avoid some unchecked pointer dereferences ( #4811 )
2023-03-02 22:05:41 +01:00
chrchr-github
215124461e
Fix #11499 FN functionConst with operator usage ( #4722 )
2023-03-02 21:51:58 +01:00
Oliver Stöneberg
381361629e
Preprocessor: removed unreachable `ConfigurationNotChecked` finding ( #4790 )
2023-03-02 21:50:57 +01:00
Oliver Stöneberg
bd1ae69b00
cleaned up includes based on `include-what-you-use` ( #4599 )
2023-03-02 21:50:14 +01:00
Oliver Stöneberg
8f5f06add7
some `Tokenizer` construction and related other cleanups ( #4799 )
2023-03-02 21:48:14 +01:00
Oliver Stöneberg
dac578e8b9
ValueFlow: avoid unnecessary `Value` copies ( #4835 )
2023-03-02 21:46:23 +01:00
chrchr-github
491299048b
Amend fix for #11449 Function call not recognized ( #4838 )
2023-03-02 21:45:15 +01:00
Oliver Stöneberg
75619db1d5
symboldatabase.cpp: use `Keywords` / added TODOs ( #4828 )
2023-03-02 21:20:56 +01:00
chrchr-github
51c5a79150
Fix #11586 FP ctuArrayIndex with unknown typedef ( #4831 )
2023-03-02 21:19:53 +01:00
chrchr-github
7f62d8ff98
Fix #11594 internalAstError with immediately instantiated enum ( #4841 )
2023-03-02 21:17:39 +01:00
Oliver Stöneberg
3ec4da0f8a
improved library loading in tests ( #4806 )
2023-03-02 21:10:51 +01:00
Oliver Stöneberg
e99d7c6531
fixed some `-Wdeprecated-copy-dtor` Clang compiler warnings ( #4836 )
2023-03-02 21:02:29 +01:00
chrchr-github
072e822020
Set ValueType for free function returning iterator ( #4837 )
2023-03-02 21:01:20 +01:00
Daniel Marjamäki
cfba046408
Fixed #11593 (function pointer => false negatives (ast? valueflow?))
2023-03-02 20:08:22 +01:00
chrchr-github
17e776861e
Get type from auto with index operator ( #4826 )
2023-02-28 15:05:45 +01:00
Daniel Marjamäki
80050b11dd
SymbolDatabase: Fix handling of function pointer arguments
2023-02-27 15:10:25 +01:00
Daniel Marjamäki
65fc31cba9
Tokenizer: tweaked simplification of function pointers. Argument types are kept.
2023-02-26 18:03:24 +01:00
chrchr-github
a0cc35e3fa
Remove simplifyQtSignalsSlots(), update qt.cfg ( #4807 )
2023-02-25 15:58:57 +01:00
chrchr-github
29b651f264
Partial fix for #11543 checkLibraryFunction warning for smartpointer in container ( #4781 )
2023-02-25 15:47:02 +01:00
Oliver Stöneberg
5d9c157f5e
keywords.cpp: fixed accidental omissions in C++03 keywords / added missing keywords in latest standards ( #4825 )
2023-02-25 00:19:04 +01:00
Oliver Stöneberg
a250e6b569
enabled and mitigated `-Wunreachable-code` Clang warnings ( #4818 )
2023-02-24 21:57:44 +01:00
chrchr-github
92b42255da
Fix #11559 FN functionConst ( #4795 )
2023-02-24 21:44:57 +01:00
Oliver Stöneberg
674231ae52
added clean C/C++ keyword lists and use them in `TokenList` ( #3774 )
2023-02-24 21:43:27 +01:00
Oliver Stöneberg
da09a92b0a
test/cfg: enabled `information` and `--inconclusive` in all cases / some cleanups ( #4784 )
2023-02-24 21:37:56 +01:00
Oliver Stöneberg
8583fcf96e
avoid more cases of returning non-const pointers from `const` objects ( #4821 )
2023-02-24 21:22:08 +01:00
chrchr-github
d65cc696b0
Get type from auto with scope ( #4822 )
2023-02-24 21:05:26 +01:00
chrchr-github
a030970160
Fix #11531 FP constParameter with const/non-const overload / #8700 FP functionConst ( #4802 )
2023-02-24 07:05:18 +01:00
chrchr-github
d1e1f951df
Don't show checkLibraryNoReturn for functions with visible declaration ( #11523 , #11190 ) ( #4809 )
2023-02-24 06:49:28 +01:00
chrchr-github
103ff907b6
Fix #11572 Broken AST with brace-init and bitwise and ( #4812 )
2023-02-24 06:31:20 +01:00
Daniel Marjamäki
e5a22e3436
Revert "improved `Path` handling of mixed separators ( #4808 )"
...
This reverts commit 0797867758
.
2023-02-24 06:21:02 +01:00
chrchr-github
50c8a0dbe1
Fix #11553 pop_back on empty container is UB ( #4789 )
2023-02-24 01:10:19 +01:00
Oliver Stöneberg
ce3ba5c015
token.cpp: removed unreachable cases from `multiComparePercent()` ( #4814 )
2023-02-23 22:58:10 +01:00
chrchr-github
96887c8130
Fix #11561 FN nullPointer with unnamed parameter ( #4805 )
2023-02-23 22:56:03 +01:00
Oliver Stöneberg
0797867758
improved `Path` handling of mixed separators ( #4808 )
2023-02-23 22:34:05 +01:00
Paul Fultz II
346ecdb53a
Improve valueflow after pushing to container ( #4803 )
2023-02-23 18:05:31 +01:00
Paul Fultz II
91d2526c41
Fix reverse analysis when modifying variable with function ( #4800 )
2023-02-23 18:04:16 +01:00
chrchr-github
fb88883813
Fix #11576 FP comparePointers / FN cstyleCast when taking address ( #4817 )
...
* Fix FN cstyleCast when taking address
* Fix #11576 FP comparePointers with member variable
* Use getParentLifetime()
* Fix test case number
2023-02-23 17:27:47 +01:00
Mateusz Michalak
9b62caf0ef
Fix FP#11508 ( #4774 )
...
* Add tests to cover the issue
* Set lifetime of pointer to data passed as view to SubFunction
* Move isContainerOfPointers to separate function
* Revert "Set lifetime of pointer to data passed as view to SubFunction"
This reverts commit 30dafe23e40354606776d2573653608025cae754.
* Skip propagating lifetime of iterators/pointers for views
* Add indents to test cases
* Skip all non-local values in container view lifetime
2023-02-18 17:38:51 +01:00
chrchr-github
ff0eee4d77
Fix #11558 FP knownConditionTrueFalse when checking for zero character ( #4794 )
...
* Fix #11558 FP knownConditionTrueFalse when checking for zero characte
* Fix test
* Set impossible value only for non-Boolean conditions, rename
* Fix condition
2023-02-18 17:35:12 +01:00
chrchr-github
1c11d3039d
Fix FP returnTempReference ( #4793 )
...
* Fix FP returnTempReference
* Fix mismatch between token and variable ValueType
* Format, clang-tidy
* Add test
* Format
2023-02-17 07:17:37 +01:00
chrchr-github
33a03f2c35
Don't throw internalAstError for parameter pack in template argument list ( #4773 )
2023-02-15 19:43:18 +01:00
chrchr-github
4f8329b2df
Fix #11545 FP unreadVariable with std::span ( #4792 )
2023-02-14 06:11:24 +01:00
Michael Drake
d651b6baf1
dump: Fix concurrency problem with dump files ( #4757 )
...
* dump: Fix concurrency problem with dump files
This adds the process ID for the cppcheck process to the filenames
of the .dump and .ctu-info files that the process generates.
So
lib/cppcheck.cpp.dump
becomes
lib/cppcheck.cpp.<PID>.dump
For example:
lib/cppcheck.cpp.2637871.dump
The reason for this change is that if there is a buildsystem which
supports concurrency, multiple instances of cppcheck may be run for
the same file. For example, if the same file is compiled in multiple
build variants, or for multiple targets.
If running the MISRA plugin over such a project with concurrency
enabled in the buildsystem, the plugin ends up crashing as multiple
jobs attempt to create/trample/delete the same files while other
jobs are using them.
For more information see:
https://sourceforge.net/p/cppcheck/discussion/general/thread/02c757b4af/
* dump: Include pid in filename if dump not explicit
Only change the dump and ctu-info filenames to include the PID if
they are being generated due to an addon.
This means that existing scripts that use `--dump` will still work
if they depend on the previous naming behaviour. The more robust
filenames containing the pid will be used when the dump files are
used as an internal implementation detail for passing data to addons.
However this means that anything that does explicitly use `--dump`
will be susceptible to concurrency problems.
* test: Update addon dump file test to account for pid
This test causes a dump file to be created by enabling the misra
addon. Since the dump files now include the cppcheck process pid
this test had to be updated to account for the change.
2023-02-13 20:54:21 +01:00
chrchr-github
2379239aed
Fix FP ignoredReturnValue ( #4783 )
2023-02-11 10:46:04 +01:00
Oliver Stöneberg
132a5a31cf
improved setting of platform in tests / also improved platform tests ( #4787 )
...
* fixture.h: added TODO
* TestPlatform: improved tests for built-in platforms
* TestPlatform: changed tests to TODO asserts
* testfilelister.cpp: added TODO
* fixture.h: added `PLATFORM` macro to load platform / use `PLATFORM` in tests
* platform.h: corrected capitalization in `Platform::platformString(PlatformType)` and bail on unknown type
* fixture.h: fixed `readability-redundant-string-cstr` clang-tidy warning
* testplatform.cpp: fixed `functionConst` selfcheck warnings
2023-02-11 10:44:56 +01:00
Paul Fultz II
2b9af94b9a
Fix 11548: FP knownConditionTrueFalse with empty() == false ( #4788 )
...
* Fix 11548: FP knownConditionTrueFalse with empty() == false
* Format
* Fix test
2023-02-11 10:42:13 +01:00
Oliver Stöneberg
f7a415dbf3
Token: do not return non-`const` pointer from `const` methods - part 1 ( #4761 )
2023-02-08 21:07:16 +01:00
Oliver Stöneberg
8ef14dad98
fixed and enabled `performance-faster-string-find` clang-tidy warning ( #4769 )
2023-02-08 21:01:51 +01:00
Oliver Stöneberg
14e78e1800
greatly improved error handling in Cppcheck project file parsing / some cleanups ( #4752 )
2023-02-08 20:30:43 +01:00
chrchr-github
271ccbc8f3
Fix FP constVariable with reference to std::array ( #4777 )
2023-02-08 08:25:43 +01:00
Oliver Stöneberg
66758d65f9
updated precompiled headers based on `ClangBuildAnalyzer` ( #4775 )
2023-02-08 08:19:21 +01:00
chrchr-github
1fcea5fb03
Don't crash on C++23 code ( #4771 )
2023-02-07 22:36:42 +01:00
chrchr-github
55292d476a
Fix #11535 "debug: Executable scope 'x' with unknown function" ( #4770 )
2023-02-07 22:35:58 +01:00
chrchr-github
c3225781f3
Fix #11533 Infinite recursion in typeDecl() ( #4767 )
2023-02-07 22:02:59 +01:00
Oliver Stöneberg
4d9caa99f3
improved testing of missing includes / made it possible to clear the include cache in simplecpp ( #4704 )
2023-02-07 22:02:12 +01:00
chrchr-github
132ae52428
Don't show checkLibraryFunction warning for types with unusedvar configuration ( #4765 )
2023-02-07 21:58:44 +01:00
chrchr-github
8af1026696
Set functions for calls through iterators ( #4763 )
2023-02-07 21:57:59 +01:00
chrchr-github
d06f93aebf
Fix #11458 nullPointer false positive ( #4758 )
2023-02-06 22:06:04 +01:00
chrchr-github
a666e31801
Fix #11517 FP constVariable with dynamic_cast ( #4753 )
2023-02-06 22:05:07 +01:00
chrchr-github
4f915499d4
Fix #11091 FP: Using object that is a temporary ( #4754 )
2023-02-06 22:04:27 +01:00
Oliver Stöneberg
7dde6c5d29
CheckExceptionSafety: moved `CWE` objects into source file ( #4759 )
2023-02-06 22:01:31 +01:00
chrchr-github
5818520b4b
Fix FN stlcstrAssignment ( #4764 )
2023-02-03 14:10:27 +01:00
chrchr-github
e8c3a80678
Improve --check-library error message ( #4755 )
2023-02-01 14:53:57 +01:00
Daniel Marjamäki
e1b313ba76
GUI: Generate compliance report
2023-01-30 14:59:45 +01:00
Oliver Stöneberg
7c7ccdf7c0
Check: disallow more than one instance per check ( #4749 )
2023-01-29 17:23:03 +01:00
Oliver Stöneberg
1a460d7bc0
bumped version to 2.11 ( #4751 )
2023-01-29 15:18:22 +01:00
Oliver Stöneberg
afd13ea11d
ValueFlow: some interface and namespace cleanups ( #4746 )
2023-01-28 10:20:47 +01:00
Daniel Marjamäki
464fbe8d53
Update copyright year
2023-01-28 10:16:34 +01:00
chrchr-github
7eb1da9ffc
Fix #11506 debug: simplifyUsing: unmatched body end ( #4728 )
2023-01-27 08:19:32 +01:00
chrchr-github
3ccc0adbca
Fix #11182 checkLibraryFunction with overloaded method / #11198 inconsistent reporting of checkLibraryNoReturn ( #4740 )
2023-01-26 22:29:49 +01:00
Oliver Stöneberg
fd15811215
de-coupled `--check-library` from `information` severity and other dependencies ( #3861 )
2023-01-26 22:28:04 +01:00
chrchr-github
ca0c13e27d
Fix crash in iscpp11init_impl() ( #4743 )
2023-01-26 22:25:49 +01:00
Oliver Stöneberg
bea6aec2b2
extracted `ValueFlow::Value` to `vfvalue.{cpp|h}` ( #4642 )
2023-01-26 22:23:22 +01:00
chrchr-github
b5a06d045e
Fix #11497 debug: CheckClass::isMemberVar found used member variable 'x' with varid 0 (inconclusive) ( #4736 )
2023-01-26 22:19:51 +01:00
chrchr-github
a0f51d1e21
Improve <type-checks><unusedvar> error message ( #4735 )
2023-01-26 22:18:55 +01:00
Oliver Stöneberg
a0b1285f4a
added CMake option `BUILD_CORE_DLL` to build lib as `cppcheck-core.dll` with Visual Studio ( #4733 )
2023-01-26 22:13:07 +01:00
Robert Reif
c3aa0940be
fix truncation of token flags ( #4727 )
2023-01-26 22:11:37 +01:00
chrchr-github
3a8d9b8c87
Fix #11510 FP CastIntegerToAddressAtReturn with ternary operator ( #4732 )
2023-01-26 22:09:55 +01:00
Oliver Stöneberg
e5572835c0
fixed `platforms` lookup / set proper platform type for `unix32-unsigned` and `unix64-unsigned` / copy `platforms` in CMake ( #4464 )
2023-01-26 22:05:40 +01:00
chrchr-github
b12aebc817
Fix #9353 FN (style) Condition '...' is always true, add test for #10508 ( #4731 )
2023-01-26 22:03:12 +01:00
chrchr-github
84fdc08853
Fix #11515 internalAstError with chain of ternary operators ( #4742 )
2023-01-26 20:12:39 +01:00
chrchr-github
c50339804b
Fix internalAstError with switch/case ( #4739 )
2023-01-26 20:11:45 +01:00
Oliver Stöneberg
41849b1a78
generate `*.vcxproj` file lists with `dmake` ( #4652 )
2023-01-21 11:55:36 +01:00
Oliver Stöneberg
38abeccd24
added command-line option `--disable=<id>` to disable individual checks ( #4712 )
2023-01-21 10:39:44 +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
3076f9def1
Fix #11449 Function call not recognized with extra parentheses / FP nullPointer ( #4703 )
2023-01-18 20:38:37 +01:00
chrchr-github
dfd3e8ac55
Partial fix for #11378 : No implicit int in C++ mode ( #4696 )
2023-01-18 20:37:00 +01:00
Daniel Marjamäki
f8c4354d2e
Cleanup *.ctu-info files that are not needed anymore after analysis
2023-01-18 17:32:14 +01:00
chrchr-github
0b62c73ff0
Fix spurious variable declaration with unknown macro and using ( #4698 )
2023-01-18 17:11:41 +01:00
Oliver Stöneberg
25a6146ffa
checkother.cpp: removed stray `CheckUninitVar` object ( #4699 )
2023-01-18 17:10:35 +01:00
chrchr-github
c4784a1552
Partial fix for #11378 internalAstError regressions (iscpp11init) ( #4700 )
2023-01-18 17:09:55 +01:00
chrchr-github
9cf934c10d
Improve handling of 'final' in class declaration ( #4706 )
2023-01-18 17:08:43 +01:00
chrchr-github
dee2ad8756
Fix #10337 FP selfAssignment ( #4682 )
2023-01-18 16:59:56 +01:00
chrchr-github
a2fea3d9b4
Fix #11083 FP knownConditionTrueFalse with reassigned pointer ( #4717 )
2023-01-18 16:57:22 +01:00
chrchr-github
50d297b309
Enable useStlAlgorithm in selfcheck ( #4725 )
2023-01-17 20:48:26 +01:00
chrchr-github
6e2cc450b8
Fix #11330 FN functionConst with access of smart pointer ( #4720 )
...
* Fix #11330 FNfunctionConst with access of smart pointer
* Simplify
2023-01-16 22:07:04 +01:00
Oliver Stöneberg
124668979c
replaced some `std::ostringstream` usage with `std::to_string()` ( #4719 )
2023-01-16 22:05: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
a79dff15ab
Fix #11492 FP uninitvar with try/catch ( #4711 )
2023-01-14 20:14:38 +01:00
chrchr-github
7bbdc95f25
Fix #11473 FP constVariable / #11448 FP constParameter / #11188 FP danglingTempReference ( #4680 )
...
* Fix #11473 FP constVariable with range-based for / #11448 FP constParameter with unused non-const range loop variable
* Fix ValueType / #11188 FP danglingTempReference with auto
* Fix ValueType in range-based for
* Update symboldatabase.cpp
2023-01-11 22:04:06 +01:00
Armin Müller
a77f0d9403
Typos found by running "codespell" ( #4702 )
2023-01-10 15:15:27 +01:00
chrchr-github
491721a6ff
Fix spurious variable declaration with unknown macro ( #4694 )
2023-01-09 16:11:26 +01:00
Oliver Stöneberg
8cc3e0b2ff
errortypes.h: use `enum class` instead of wrapping types into classes ( #4693 )
2023-01-08 19:31:54 +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
Paul Fultz II
cefc105c5f
Fix 11468: false positive danglingTempReference warning ( #4679 )
2023-01-07 23:44:22 +01:00
chrchr-github
4ebdf5fae1
Fix #11478 FP identicalConditionAfterEarlyExit when passing *this ( #4684 )
2023-01-07 22:10:07 +01:00
Paul Fultz II
6020feb271
Fix 11461: arrayIndexOutOfBounds false positive ( #4686 )
2023-01-07 22:09:17 +01:00
Oliver Stöneberg
a09667a6d9
removed unused error messages ( #4689 )
2023-01-07 10:35:39 +01:00
Paul Fultz II
a338be4682
Add source traces when using LifetimeStore ( #4678 )
2023-01-03 22:02:48 +01:00
chrchr-github
4c1c506d21
#11472 FP returnTempReference with cast and scope operator ( #4676 )
2023-01-02 22:13:56 +01:00
chrchr-github
2007cd0a1d
Fix #11465 FP returnDanglingLifetime/returnTempreference with typeid ( #4675 )
2023-01-02 17:46:03 +01:00
chrchr-github
f793b7dd35
Fix #11460 unintvar false positive ( #4674 )
...
* Fix #11460 unintvar false positive
* Format
2023-01-02 17:44:52 +01:00
chrchr-github
11f1a9d1f5
Fix crash on ternary with omitted operand ( #4673 )
...
* Fix MSVC compiler warning
* Fix crash on incomplete ternary operator
* Revert "Fix crash on incomplete ternary operator"
This reverts commit 28df0f0ab6ff794e733617447f847a97c1a7a609.
* Handle ternary with omitted operand
2023-01-02 17:44:17 +01:00
Oliver Stöneberg
0c95971c54
added .gitattributes and normalized files ( #4668 )
2022-12-30 21:33:45 +01:00
Oliver Stöneberg
d3a2cdc26c
converted (undocumented) define `MAXTIME` into (undocumented) command-line options `--checks-max-time=`, `--template-max-time=` and `--typedef-max-time=` ( #4661 )
2022-12-30 21:21:05 +01:00
Oliver Stöneberg
71cdacdc97
fixed missing location for `valueFlowMaxIterations` debug warning / also added it to daca server overview ( #4664 )
2022-12-30 21:20:00 +01:00
Oliver Stöneberg
1cfe49e340
use `const_iterator` where possible ( #4662 )
2022-12-30 15:13:47 +01:00
Oliver Stöneberg
b380fd2589
added command-line option `--valueflow-max-iterations` to control amount of valueflow iterations / also log debug warning when iterations are being exceeded ( #4557 )
2022-12-20 20:51:08 +01:00
Oliver Stöneberg
3c68b9b29f
use `cbegin()` and `cend()` with `const_ierator` loops ( #4658 )
2022-12-20 20:32:16 +01:00
Paul Fultz II
f8132ea022
Fix 11381: FP derefInvalidIteratorRedundantCheck when updating iterator using std::tie ( #4659 )
2022-12-20 20:29:19 +01:00
chrchr-github
7506b4ab52
Fix #11441 FP variableScope when lambda is used ( #4660 )
2022-12-20 14:50:31 +01:00
chrchr-github
ad858e92dc
Partial fix for #11444 cppcheckError: Analysis failed (function not recognized) ( #4656 )
2022-12-19 22:29:43 +01:00
Paul Fultz II
da32c5aecd
Fix 11442: new "Reference to temporary returned." FPs ( #4657 )
2022-12-19 22:28:59 +01:00
Oliver Stöneberg
6fedbb4f77
add/preserve `const` in `dynamic_cast` ( #4655 )
2022-12-19 20:01:12 +01:00
Paul Fultz II
9da574f4a0
Fix 11227: ValueFlow: Known value not set in condition for ternary operator ( #4653 )
...
* Evaluate args before function call
* Fix tests
* Format
* Add test for 11227
* Format
* Fix known condition
2022-12-18 22:07:43 +01:00
Oliver Stöneberg
dc5c5de10e
avoid some unnecessary copies ( #4589 )
2022-12-18 19:38:29 +01:00
chrchr-github
76c28073aa
Revert fix for #10831 ( #4631 )
2022-12-18 16:55:55 +01:00
chrchr-github
617cd29a41
Get type from auto ( #4640 )
2022-12-18 16:54:58 +01:00
chrchr-github
b1abaf8809
Fix FP useStlAlgorithm (don't suggest std::accumulate when nothing is accumulated) ( #4647 )
2022-12-18 16:52:04 +01:00
gerboengels
63e30d1b8c
Fix syntaxError on lambda inside decltype ( #4650 )
...
Use case where it gave an issue:
using customComparator = decltype([] (const X& lhs, const X& rhs) { return lhs.CompareTo(rhs); });
std::map<X, int, costomComparator> m;
Co-authored-by: Gerbo Engels <gerbo.engels@ortec-finance.com>
2022-12-18 16:46:04 +01:00
Daniel Marjamäki
7799f820a3
Refactoring: Use static for local function getMinMaxValues
2022-12-17 21:21:18 +01:00
Daniel Marjamäki
c736d60642
Fix Misra C++ warning 'Limited dependence should be placed on C++ operator precedence rules in expressions.'
2022-12-17 20:45:58 +01:00
chrchr-github
4c8aa56d8b
Partial fix for #11378 internalAstError regressions (iscpp11init) ( #4629 )
...
* Partial fix for #11378 internalAstError regressions (iscpp11init)
* Use %cop%
* Add test for #11229
* Format
* Format
2022-12-16 10:46:15 +01:00
Paul Fultz II
9c55b933c1
Partial fix for 11303: False negative: knownConditionTrueFalse using container .back() ( #4633 )
...
* Partial fix for 11303: False negative: knownConditionTrueFalse using container .back()
* Format
* Fix error message
2022-12-15 18:35:19 +01:00
Paul Fultz II
90898945c1
Fix 10532: False negative: dangling string_view when using ternary operator ( #4638 )
...
* Fix 10532: False negative: dangling string_view when using ternary operator
* Format
* Update
2022-12-15 18:34:43 +01:00
chrchr-github
553b579f8d
Fix #11434 FP knownConditionTrueFalse with loop over bool array ( #4646 )
...
* Fix #11434 FP knownConditionTrueFalse with loop over bool array
* Simplify
2022-12-15 14:31:02 +01:00
chrchr-github
0c1e2ceeb9
Fix #11289 FP wrongPrintfScanfArgNum - snprintf with parameter pack ( #4644 )
2022-12-15 08:52:13 +01:00
chrchr-github
b7693ccc7a
Fix #11431 FP resourceLeak with goto ( #4645 )
2022-12-14 22:47:14 +01:00
Oliver Stöneberg
29e0133cb5
extracted `FwdAnalysis` from `astutils.{cpp|h}` ( #4637 )
...
* added missing filtering offiles in Visual Studio project
* extracted `FwdAnalysis` from `astutils.{cpp|h}`
2022-12-13 22:29:23 +01:00
Paul Fultz II
e2f398f81a
Fix 11250: FN: bufferAccessOutOfBounds (comma operator: int x = (3,4) ) ( #4636 )
...
* Fix 11250: FN: bufferAccessOutOfBounds (comma operator: int x = (3,4) )
* Format
2022-12-13 07:52:58 +01:00
Oliver Stöneberg
e01c463ff8
fixed #11428 - improved handling of suffixes in `MathLib::to{Double|ULong|Long}Number()` ( #4635 )
...
* fixed #11428 - improved handling of suffices in `MathLib::to{Double|ULong|Long}Number()`
* testmathlib.cpp: adjustments for `libc++`
* mathlib.cpp: added TODO
2022-12-13 07:52:45 +01:00
Paul Fultz II
b4d455df48
Fix 11349: FP negativeIndex for clamped array index ( #4627 )
...
* Fix 11349: FP negativeIndex for clamped array index
* Format
* Use emplace_back
* Use default constructor
2022-12-13 07:50:01 +01:00
chrchr-github
5b687cb038
Fix #11423 Crash in valueFlowForwardConst() ( #4634 )
2022-12-12 22:58:48 +01:00
chrchr-github
3f5054035d
Fix #11432 FP passedByValue for overriden function ( #4632 )
2022-12-12 21:52:58 +01:00
Daniel Marjamäki
7aae78fed3
Refactoring: Remove unused parameter for AnalyzerInfo::reportErr
2022-12-11 21:27:16 +01:00
Paul Fultz II
3f88744851
Fix 11358: FP containerOutOfBounds for container passed by pointer ( #4626 )
2022-12-09 19:43:21 +01:00
Oliver Stöneberg
40a69e5afb
optimized deserializing of `ErrorMessage` and related main process code ( #4610 )
2022-12-09 19:34:51 +01:00
Paul Fultz II
6eccb2e36c
Throw internal error when tokens are not in order ( #4623 )
...
* Throw internal error when tokens are not in order
* Add semicolon
2022-12-09 07:17:16 +01:00
Paul Fultz II
7acbb656f3
Fix 11412: False positive: uninitvar ( #4624 )
...
* Dont remove modified variables from dead code
* Add test for 11412
* Format
2022-12-09 07:15:47 +01:00
Paul Fultz II
c150317f02
Fix 11384: FP knownConditionTrueFalse when variable is modified in return statement ( #4625 )
...
* Fix 11384: FP knownConditionTrueFalse when variable is modified in return statement
* Format
2022-12-09 07:15:15 +01:00
chrchr-github
c779cefa61
Fix #11422 debug: Missing variable class for variable with varid ( #4616 )
2022-12-08 20:17:06 +01:00
Paul Fultz II
0cb742701d
Fix 11415: FP containerOutOfBounds for container initialized in virtual method ( #4622 )
2022-12-08 20:10:58 +01:00
chrchr-github
04b7c0c200
Fix #11404 FP knownConditionTrueFalse with iterator ( #4619 )
...
* Fix wrong value set in valueFlowSameExpressions()
* Fix #11404 FP knownConditionTrueFalse with iterator
2022-12-08 10:40:55 +01:00
Paul Fultz II
663a8411dd
Fix 11416: FP nullPointerRedundantCheck for check after loop with break ( #4620 )
2022-12-08 07:27:06 +01:00
Oliver Stöneberg
4103d05c7f
improved `ErrorMessage::deserialize()` error messages ( #4617 )
2022-12-07 18:00:45 +01:00
chrchr-github
8713dabe58
Get type from iterator ( #4613 )
2022-12-07 09:38:36 +01:00
Oliver Stöneberg
8bb5ac0efd
improved `MathLib::to{ULong|Long|Double}Number()` and increased test coverage / added CMake option `USE_LIBCXX` / fixed #10695 ( #4611 )
2022-12-07 09:20:09 +01:00
chrchr-github
89dba226dd
Fix #11305 FP uninitvar with unseen typedef ( #4612 )
2022-12-07 09:14:22 +01:00
chrchr-github
0e57c27dd3
Fix #11386 debug: CheckClass::checkConst found unlinked template argument list ( #4614 )
2022-12-07 09:12:46 +01:00
chrchr-github
d5d7446433
Add cfg for std::scoped_lock, handle template arguments in checkMisusedScopedObject() ( #4615 )
2022-12-07 09:10:48 +01:00
Oliver Stöneberg
7d3ce62ee9
improved errorhandling related to deserializing `ErrorMessage` ( #4604 )
2022-12-03 15:44:33 +01:00
chrchr-github
0854fda28a
Get type from smartpointer ( #4608 )
...
* Fix #11223 checkLibraryFunction treats "auto" as type
* Use utility function
* Get type from 'auto p = new ...'
* Fix merge
* Add test for recent fix
* Format
* Get type from smartpointer
2022-12-03 07:50:21 +01:00
chrchr-github
7d6683fb78
Fix #11417 FP knownConditionTrueFalse with container and brace init ( #4606 )
...
* Fix #11417 FP knownConditionTrueFalse with container and brace init
* Format
* Format
* Move to getInitListSize()
2022-12-02 22:07:08 +01:00
chrchr-github
e4ee7cd59c
Get type from 'auto p = new ...' ( #4607 )
...
* Fix #11223 checkLibraryFunction treats "auto" as type
* Use utility function
* Get type from 'auto p = new ...'
* Fix merge
2022-12-02 20:28:14 +01:00
chrchr-github
9efedd6be9
Fix #11223 checkLibraryFunction treats "auto" as type ( #4605 )
...
* Fix #11223 checkLibraryFunction treats "auto" as type
* Use utility function
2022-12-02 07:21:33 +01:00
chrchr-github
428f5016d4
Partial fix for #11378 (iscpp11init) ( #4595 )
...
* Partial fix for #11378 (iscpp11init)
* Improve fix
* Add fix
2022-11-27 09:26:46 +01:00
chrchr-github
665e4230f2
Fix #11406 FP returnDanglingLifetime, std::unique_ptr and implicit conversion to bool ( #4600 )
2022-11-27 09:24:19 +01:00
chrchr-github
4cb49013a7
Fix #11374 FP danglingTemporaryLifetime with std::string_view ( #4602 )
2022-11-27 09:22:55 +01:00
Rikard Falkeborn
52264b9c26
Fix #11401 nullpointer dereference with alignof ( #4601 )
...
* checknullpointer: Don't report dereference with alignof
* Refactor unevaluating operator check in checknullpointer
Unifying these ensures the different checks treat the operators the
same.
* Fix FP with _Alignof and null pointer
Just like alignof, _Alignof does not evaluate its operand.
* CheckNullPointer: Also support compiler specific alignof
This fixes #11401 which is about __alignof__. For good measure, also add
the microsoft extensions __alignof and _alignof.
2022-11-27 09:20:19 +01:00
Rikard Falkeborn
8465d901c8
Fix 11396, doublefree on munmap in if-statement ( #4594 )
2022-11-26 15:45:27 +01:00
Stefan van Kessel
a5c16af16d
Fix lambda capture template syntax error ( #4593 )
2022-11-23 20:15:10 +01:00
chrchr-github
68acd77053
Fix #11361 FP ctuPointerArith with unknown buffer size ( #4591 )
2022-11-23 19:11:47 +01:00
Daniel Marjamäki
ad8c1e26f0
dump: output language to dumpfile
2022-11-20 12:30:09 +01:00
chrchr-github
9f50611a44
Fix #11391 FP doubleFree with goto ( #4587 )
2022-11-19 16:49:34 +01:00
chrchr-github
80aa6dc1d9
Fix #11392 FP mismatchAllocDealloc with std::unique_ptr and custom deleter ( #4585 )
2022-11-18 19:45:25 +01:00
gerboengels
3fdba645a6
Improve fix for #11383 FP selfAssignment: lambda capture ( #4584 )
2022-11-18 19:44:32 +01:00