chrchr-github
01a22159b8
Fix autoNoType with std::begin() / function returning smart ptr ( #4919 )
...
* Fix autoNoType with std::begin()
* Suppress warning for const lambda
* Fix autoNoType with function returning smart ptr
* Handle more complex expression
* Fix scope with auto and smart ptr
* Handle smart pointers and iterators first
2023-04-01 09:38:40 +02:00
Paul Fultz II
7231d1cece
Update the isVariableChanged to correctly check the const bit ( #4912 )
2023-03-26 15:12:49 +02:00
Paul Fultz II
d4b030694b
Move some checks for variable changed from constVariable check to isVariableChanged ( #4905 )
2023-03-21 18:16:40 +01:00
chrchr-github
0d02c0a1a7
Fix #11624 FP uninitvar with array passed to function ( #4903 )
2023-03-20 19:54:31 +01:00
chrchr-github
19eef2c584
Partial fix for #11599 false negative: constParameter ( #4901 )
2023-03-19 17:43:23 +01:00
chrchr-github
3ccd0505cd
Enable and mitigate readability-simplify-boolean-expr ( #4897 )
2023-03-17 13:51:55 +01:00
Paul Fultz II
61e8b84578
Fix 11610: false negative: knownConditionTrueFalse with address of variable ( #4883 )
2023-03-12 19:57:11 +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
chrchr-github
f2238e717b
Fix crash in isTemporary() ( #4866 )
2023-03-07 12:44:54 +01:00
Oliver Stöneberg
20db3ff368
SymbolDatabase: made `mTokenizer` and `mSettings` references ( #4857 )
2023-03-07 12:22:06 +01:00
Oliver Stöneberg
b70e1d5461
avoid some unchecked pointer dereferences ( #4811 )
2023-03-02 22:05:41 +01:00
chrchr-github
491299048b
Amend fix for #11449 Function call not recognized ( #4838 )
2023-03-02 21:45:15 +01:00
Paul Fultz II
346ecdb53a
Improve valueflow after pushing to container ( #4803 )
2023-02-23 18:05:31 +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
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
Oliver Stöneberg
bea6aec2b2
extracted `ValueFlow::Value` to `vfvalue.{cpp|h}` ( #4642 )
2023-01-26 22:23:22 +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
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
2007cd0a1d
Fix #11465 FP returnDanglingLifetime/returnTempreference with typeid ( #4675 )
2023-01-02 17:46:03 +01:00
Oliver Stöneberg
1cfe49e340
use `const_iterator` where possible ( #4662 )
2022-12-30 15:13:47 +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
Paul Fultz II
da32c5aecd
Fix 11442: new "Reference to temporary returned." FPs ( #4657 )
2022-12-19 22:28:59 +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
chrchr-github
b1abaf8809
Fix FP useStlAlgorithm (don't suggest std::accumulate when nothing is accumulated) ( #4647 )
2022-12-18 16:52:04 +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
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
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
chrchr-github
8713dabe58
Get type from iterator ( #4613 )
2022-12-07 09:38:36 +01:00
chrchr-github
89dba226dd
Fix #11305 FP uninitvar with unseen typedef ( #4612 )
2022-12-07 09:14:22 +01:00
chrchr-github
4cb49013a7
Fix #11374 FP danglingTemporaryLifetime with std::string_view ( #4602 )
2022-11-27 09:22:55 +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
cff1cd9cda
applied clang-tidy `misc-const-correctness` fixes for POD types, iterators and references ( #4529 )
...
* applied `misc-const-correctness` fixes for POD types and iterators
* applied `misc-const-correctness` fixes for references
2022-10-02 07:12:40 +02:00
Oliver Stöneberg
0481edf9c3
return `SmallVector` from `followAllReferences()` ( #3925 )
2022-09-29 21:41:32 +02:00
Oliver Stöneberg
339484d2a1
mitigated and enabled more clang-tidy warnings ( #4470 )
...
* fixed some `performance-inefficient-string-concatenation` clang-tidy warnings
* fixed and enabled `modernize-replace-random-shuffle` clang-tidy warning
* fixed and enabled `bugprone-suspicious-string-compare` clang-tidy warning
* mitigated and enabled `readability-non-const-parameter` clang-tidy warnings
* clang-tidy.md: documented some disabled checks
* mitigated and enabled `performance-unnecessary-value-param` clang-tidy warnings
2022-09-16 18:58:59 +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
Paul Fultz II
43caa32abf
Fix 9755: false negative: access of moved variable in conditional code ( #4459 )
...
* Fix 9755: false negative: access of moved variable in conditional code
* Format
2022-09-11 12:32:01 +02:00
Paul Fultz II
117a753b10
Partial fix 11154: FN: knownConditionTrueFalse ( #4453 )
...
* Partial fix 11154: FN: knownConditionTrueFalse
* Formay
* Add more tests
* FOrmat
* Fix FP
* Add test
* Check for side effects
* Format
* Update tests
* Format
2022-09-08 22:08:38 +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
436b8bd3f1
optimized `isSameConstantValue()` a bit ( #4441 )
2022-09-05 21:36:26 +02:00
Paul Fultz II
6ce5c24f21
Refactor knownConditionTrueFalse check and isUsedAsBool function ( #4432 )
...
* Refactor knownConditionTrueFalse check and isUsedAsBool function
* Format1
* Format
* Skip assign
2022-09-04 10:24:45 +02:00
Maksim Derbasov
f93b588603
New check: use memcpy/memset instead of loop ( #4257 )
2022-09-03 23:29:06 +02:00
Oliver Stöneberg
9b4973d711
astutils.cpp: some small optimizations ( #4378 )
2022-08-21 17:39:21 +02:00
Daniel Marjamäki
c820d2ba97
refactoring
2022-08-21 17:33:43 +02:00
PKEuS
d81a758850
LCppC backports: Refactorizations/Optimizations ( #4204 )
2022-08-21 17:21:02 +02:00
chrchr-github
b04bf7396f
Fix #7515 New check: Not needed c_str() operation ( #4371 )
2022-08-20 20:52:10 +02:00