Commit Graph

12793 Commits

Author SHA1 Message Date
chrchr-github 331db40d3b
Revert recent changes in checkConstVariable(), add tests (refs #12203) (#5696) 2023-11-22 19:20:56 +01:00
chrchr-github 83b5cb5b2f
Fix #12203 false negative: constParameterReference when taking address (#5682) 2023-11-22 14:05:53 +01:00
chrchr-github 8b6cbe2e9e
Fix crash in SymbolDatabase::addClassFunction() (f'up to #12209) (#5689) 2023-11-21 12:57:38 +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
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
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
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
chrchr-github 85172fe770
Don't report checkLibraryUseIgnore for known functions (refs #7719) (#5664) 2023-11-16 14:23:08 +01:00
Oliver Stöneberg 682901ac2a
fixed #10760 - added file name to ValueFlow `--debug` output (#5655) 2023-11-16 13:44:50 +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
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
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
chrchr-github 1fa785d81d
Fix #12159 FP CastAddressToIntegerAtReturn with std::future (#5634) 2023-11-08 13:12:50 +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
chrchr-github cf64ccea22
Fix #12147 false negative: passedByValue (#5626) 2023-11-07 22:50:31 +01:00
Oliver Stöneberg bc174c502a
fixed #12145 - provided order of source files is not preserved (#5625) 2023-11-07 21:21:24 +01:00
Daniel Marjamäki 8c63c8ced1
Fix #12156 (AST: do not create AST for variable declaration 'bool& var') (#5631) 2023-11-07 20:48:56 +01:00
Oliver Stöneberg 87886576fc
TokenList: actually consider configured standard in `isKeyword()` (#5619) 2023-11-07 20:39:44 +01:00
chrchr-github d3d70dcc4e
Fix #12157 SymbolDatabase: Token::type() is not set properly when inn… (#5635)
…er enum has same name as outer class
2023-11-07 19:57:45 +01:00
Daniel Marjamäki c1aed9681d
Fix #12151 (Tokenizer::arraySize: enum constant used as index in array initialization) (#5633) 2023-11-07 19:19:19 +01:00
chrchr-github d26022ac9a
Fix #11302 debug: SymbolDatabase::isFunction found C function 'main' without a return type. (#5630) 2023-11-06 21:03:11 +01:00
chrchr-github a57fc9ace6
Partial fix for #12153 FN returnReference (#5629) 2023-11-06 20:29:13 +01:00
Oliver Stöneberg 704b862a2d
cleaned up the file filtering code and improved testing of it (#5622) 2023-11-06 19:06:22 +01:00
chrchr-github de2cfb05b0
Fix #12150 FP uninitialized member array, initialized in range for loop (#5627) 2023-11-06 16:15:47 +01:00
chrchr-github 83ac6bfa0f
Fix crash when calling estimateSize() (f'up to #12139) (#5628) 2023-11-06 15:22:59 +01:00
Daniel Marjamäki 0dc53ac7fe
Fix #12144 (Error messages from addons has the wrong file0) (#5621) 2023-11-04 17:07:30 +01:00
chrchr-github 72a36172aa
Fix #12142 FP uninitStructMember, unreadVariable with pointer to member (#5618) 2023-11-04 13:40:06 +01:00
chrchr-github fa7891e37b
Fix #12139 FP redundantCopyLocalConst for small type (#5617) 2023-11-04 13:38:02 +01:00
chrchr-github 789c032e42
Fix #12138 FP passedByValue with anonymous union (#5611) 2023-11-04 13:34:08 +01:00
Oliver Stöneberg ca6d1aafdb
moved `fileSettings` out of `Settings` (#5608)
Moved the `FileSettings` out of the `Settings` and pass them around
explicitly. They can never be specified at the same time and are used
exclusively. The code hasn't been fully adjusted to reflect this as this
is only the refactoring without any functional changes.
2023-11-03 23:24:04 +01:00
chrchr-github 099d96ffa1
Fix #12137 syntaxError with attribute in typedef (#5612) 2023-11-03 09:56:41 +01:00
Oliver Stöneberg 63e00ea918
fixed some "Variable can be made constexpr" Rider warnings (#5615) 2023-11-03 09:55:44 +01:00
Oliver Stöneberg e6d15b17ff
extracted `FileSettings` from `ImportProject` to `filesettings.h` (#5604) 2023-11-02 17:42:41 +01:00
Oliver Stöneberg dd627a2b1d
moved `ImportProject` out of `Settings` and only store `fileSettings` (#5603)
`ImportProject` is not needed outside of the command-line parsing so we
do not need it inside the `Settings` at all. We only use the
`fileSettings` in the executors.
2023-11-01 21:08:30 +01:00
chrchr-github 10654386db
Fix #12128 FP uninitDerivedMemberVar with brace init (#5606) 2023-11-01 09:49:32 +01:00
chrchr-github 29001b651b
Fix #12129 FN (regression): constParameterPointer (#5605) 2023-11-01 09:49:19 +01:00
chrchr-github 67b61a0ab7
Fix #12134 false negative: passedByValue (#5607) 2023-10-31 19:08:08 +01:00
chrchr-github c2d5aef435
Fix #12083 FN passedByValue with usage in ternary (#5575) 2023-10-31 16:12:38 +01:00
chrchr-github bbaa7be901
Fix #12118 FP passedByValue for callbacks (#5591) 2023-10-31 12:06:31 +01:00
Swasti Shrivastava 7618e100b4
Do not add AST for pointer in variable declaration (#5593) 2023-10-31 10:26:03 +01:00
Paul Fultz II 18373bc64b
Fix 12116: FP negativeContainerIndex with redundant assignment (regression) (#5602) 2023-10-29 00:11:03 +02:00
chrchr-github 77bfec4317
Fix #12119 FN constVariablePointer with reassigned pointer (#5592) 2023-10-28 16:48:39 +02:00
chrchr-github cae27c5ec7
Fix #12117 FP integerOverflowCond for shift by 31 bits (#5596) 2023-10-28 16:47:57 +02:00
chrchr-github f6fb3334f3
Set enumerator in ctor init list (refs #10045) (#5599) 2023-10-28 13:51:52 +02:00
chrchr-github 6bc164e0d0
Fix #12122 FP knownConditionTrueFalse with type traits (#5595) 2023-10-26 23:33:35 +02:00
chrchr-github 80c5cb6690
Fix #12008 debug: Executable scope 'x' with unknown function. (#5588) 2023-10-25 14:50:10 +02:00
chrchr-github 502d7ea6db
Fix #12120 FP constStatement with class in C code (#5594) 2023-10-25 10:05:42 +02:00
chrchr-github 89df134fed
Fix #12109 Crash in calculate.h (#5587) 2023-10-24 10:05:32 +02:00
chrchr-github 7e2fcea3d9
Fix #12044 FN knownConditionTrueFalse comparing qualified constant with number (#5518) 2023-10-23 11:18:05 +02:00
Oliver Stöneberg a765a1310d
ValueFlow: omit unnecessary location information from `valueFlowBailoutIncompleteVar` (#5583)
This is unnecessary since we only issue it from a single location. It
also leads to a lot of unnecessary noise in the daca diff reports.
2023-10-23 10:13:10 +02:00
Oliver Stöneberg 3103736c51
refs #11928 / refs #10045 / fixes #11794 - generate `limits.h`/`climits` defines from platform (#5414) 2023-10-21 17:21:12 +02:00
chrchr-github 26ba29c303
Fix #12086 FN passedByValue with index operator and namespaced function call (#5574) 2023-10-21 12:41:39 +02:00
chrchr-github f4d18a8d1e
#12077 FP constStatement with ctor in namespace (#5572) 2023-10-21 12:12:56 +02:00
Oliver Stöneberg 27bd972832
test/CMakeLists.txt: updated the test fixture costs (#5565) 2023-10-21 09:15:22 +02:00
Oliver Stöneberg 7086ffaa1b
fixed #12045 - print error when using an option which has not been compiled in instead of treating it as non-existent or a no-op (#5508)
Also disabled more internal code around those options and did some
cleanups.
2023-10-21 09:12:59 +02:00
chrchr-github 41bd28c0b3
Fix #12087 Library: add Container::Action::FIND_CONST (#5579) 2023-10-20 21:22:06 +02:00
chrchr-github b61feaf77f
Fix syntaxError with const lambda (refs #11275) (#5571) 2023-10-20 15:32:46 +02:00
chrchr-github 0070a78101
Fix #12088 FP constStatement with delete in loop increment (#5576) 2023-10-20 10:25:31 +02:00
Daniel Marjamäki 17ea101e7b
Fix #12081 (Tokenizer::simplifyTypedef: Handle volatile structs better) (#5577) 2023-10-19 21:02:03 +02:00
Paul Fultz II f2c8153231
Set the lower and upper bounds for variable that are only incremented or decremented (#5523)
Also, changed `isExpressionChanged` and `isThisChanged` to return the
token that is being modified and renamed the functions to
`findExpressionChanged` and `findThisChanged`.
2023-10-19 18:42:52 +02:00
chrchr-github 7c3ae68e4d
Fix #11893 FP constStatement unused variable (#5567) 2023-10-19 10:51:16 +02:00
Paul Fultz II e1a120e6b0
Partial fix for 12031: False positive: uninitialized variable (#5573) 2023-10-18 23:49:22 +02:00
chrchr-github 09f426d980
Fix #12082 FP uninitvar for assignment to array member in conditional (#5570) 2023-10-18 18:50:49 +02:00
chrchr-github 285ef96b5b
Report unknownMacro in string concatenation (refs #11378) (#5558) 2023-10-18 18:46:47 +02:00
chrchr-github b60b374f9c
Fix internalASTError with decltype (regression, refs #11378) (#5564) 2023-10-18 12:17:20 +02:00
Oliver Stöneberg b40d36a09e
fixed #12063 - use less heavy code in executor tests (#5566)
The allocation invokes some heavy ValueFlow computations. We just want
to generate an unconditional error from the analysis so use some lighter
code which does the same.

`TestThreadExecutorFiles::deadlock_with_many_errors`

Before:
```
real    0m23.517s
user    0m33.453s
sys     0m2.297s
```

After:
```
real    0m5.051s
user    0m6.234s
sys     0m0.422s
```
2023-10-17 20:24:37 +02:00
Oliver Stöneberg 85fe627c68
fixed some typos (#5562) 2023-10-17 18:32:07 +02:00
Daniel Marjamäki dd76504f82
Fixed #3537 (Allow inline suppression comments for macros) (#5559) 2023-10-16 19:43:15 +02:00
Oliver Stöneberg 3811d01498
fixed "Redundant dereferencing and tasking address expression" Rider warnings (#5563) 2023-10-16 14:09:03 +02:00
Oliver Stöneberg 5e89eb05a6
iwyu.yml: made `include-what-you-use` output more verbose / cleaned up includes (#5540) 2023-10-16 12:57:49 +02:00
chrchr-github 93297727ef
Fix internalASTError with decltype (refs #11378) (#5553) 2023-10-15 20:47:01 +02:00
orbitcowboy 16c5a11786
posix.cfg: Warn in case the return value of localtime() is ignored. (#5555) 2023-10-14 16:59:42 +02:00
chrchr-github 903df84ddc
Fix #12072 FN constStatement with enum (#5554) 2023-10-13 21:40:47 +02:00
Daniel Marjamäki ec15772381
Refactoring suppressions code. (#5550) 2023-10-13 19:57:08 +02:00
chrchr-github efd488b519
Partial fix for #12062 FN: memleak (#5548) 2023-10-13 18:47:06 +02:00
chrchr-github f56677a99d
Fix #11857 FP constParameterReference with std::map (#5551) 2023-10-13 18:08:40 +02:00
Oliver Stöneberg ebb877adcc
gui/platforms.h: renamed `Platform` to `PlatformData` / Platform: removed unnecessary `cppcheck` namespace (#5545) 2023-10-13 16:02:04 +02:00
Johan Bertrand 44ab976451
Inline suppression for block of code or whole file (#5402)
Added new suppress comments:
- `cppcheck-suppress-begin` and `cppcheck-suppress-end` to remove blocks
of suppression
- `cppcheck-suppress-file` to remove suppression at file level

The suppressions do not interfere with each others. For example, all the
suppressions are matched in the following code:

```c
// cppcheck-suppress-file uninitvar
void f() {
    int a;
    // cppcheck-suppress-begin uninitvar
    // cppcheck-suppress uninitvar
    a++;
    // cppcheck-suppress-end uninitvar
}
```

Tickets:
https://trac.cppcheck.net/ticket/11902
https://trac.cppcheck.net/ticket/8528
2023-10-13 12:45:13 +02:00
chrchr-github 8ef4da475a
Add test for #2456, #12011 (#5544) 2023-10-12 16:27:10 +02:00