Commit Graph

27531 Commits

Author SHA1 Message Date
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
Daniel Marjamäki fc8c244675
CI: Add selfcheck using Cppcheck Premium. Activates Misra C++ 2008 and Cert C++ 2016 checkers. (#5623) 2023-11-06 15:31:47 +01:00
chrchr-github 83ac6bfa0f
Fix crash when calling estimateSize() (f'up to #12139) (#5628) 2023-11-06 15:22:59 +01:00
orbitcowboy 966a89d5f4
Removed -DTIXML_USE_STL flag (#5624)
Updated version of https://github.com/danmar/cppcheck/pull/5145
2023-11-05 15:54:22 +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 df860a937d
do not explicitly load `windows.cfg` during command-line parsing (#5613)
As we now fail early on loading of all libraries we no longer need to
explicitly bail out on mandatory ones. This would have also caused
`libraries` and `library` to go out-of-sync and possibly lead to
duplicated loading of the library. It also allows for a
`CppCheckExecutor` to be made private.
2023-11-04 13:33:10 +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
Oliver Stöneberg 8b0916c319
ValueFlow: improved `checkLevelNormal` message (#5584) 2023-11-03 21:05:56 +01:00
Oliver Stöneberg 989d276dde
removed the need for `Check` object in `CTU::getUnsafeUsage()` callback / some CheckUninitVar cleanups (#5610)
The `Check` objects were just created for that purpose so they basically
just were wrappers for the pointers passed into them and were
unnecessary.
2023-11-03 18:27:11 +01:00
Oliver Stöneberg f62caa6739
updated Qt in CI to 6.6.0 and removed commercial-only LTS Qt versions (#5561)
Updates for the Qt 6.2.x and 6.5.x LTS versions are only being provided
to commercial customers so the latest version is the only feasible one
to use.

Builds with older 6.x versions are still being tested implicitly by
using the Qt versions provided by the various distros.
2023-11-03 18:25:27 +01:00
Daniel Marjamäki 3c863e2e33
bumped simplecpp to 1.0.0 (#5616) 2023-11-03 13:55:54 +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 9280b5d7a5
CI-unixish.yml: removed `macos-11` builds and no longer build with qmake on MacOS (#5614)
Removed all `macos-11` builds as `brew` no longer supports it and we use
it in most steps:
```
Warning: You are using macOS 11.
We (and Apple) do not provide support for this old version.
It is expected behaviour that some formulae will fail to build in this old version.
It is expected behaviour that Homebrew will be buggy and slow.
Do not create any issues about this on Homebrew's GitHub repositories.
Do not create any issues even if you think this message is unrelated.
Any opened issues will be immediately closed without response.
Do not ask for help from Homebrew or its maintainers on social media.
You may ask for help in Homebrew's discussions but are unlikely to receive a response.
Try to figure out the problem yourself and submit a fix as a pull request.
We will review it but may or may not accept it.
```

Also `brew` might no longer provide pre-built Qt5 packages which will
cause the step to run for hours as it will compile it on demand - see
https://github.com/danmar/cppcheck/actions/runs/6735637341/job/18314354679
for such an instance.
2023-11-02 23:31:59 +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 8d5fa19caa
filelister.cpp: removed unused `NAME_MAX` related code (#5609)
The code which was using this was removed in
8b309a8829.
2023-11-02 10:04:53 +01:00
Oliver Stöneberg 57bec6cbc8
fixed #12099 - daca: missing diff entries (#5586)
This reverts 7ff58dacff.
2023-11-01 22:58:33 +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
Swasti Shrivastava 12844703de
Fix #9488: MISRA addon: False positive for rule 10.6 in test for rule 10.1 (#5598) 2023-10-30 17:24:19 +01:00
Swasti Shrivastava 915b4b6c5a
Fix #10747: FP: misra-c2012-8.6 (#5601) 2023-10-29 19:39:36 +01:00
Paul Fultz II 18373bc64b
Fix 12116: FP negativeContainerIndex with redundant assignment (regression) (#5602) 2023-10-29 00:11:03 +02:00
Swasti Shrivastava 56bfa9f3ea
Fix #9498: false positive: misra-c2012-18.8 (#5600) 2023-10-28 18:45:40 +02:00
Daniel Marjamäki 083c4aa34b
Fix #12079 (Make misra-config a critical error) (#5578) 2023-10-28 16:58:59 +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
Oliver Stöneberg e8671c92cc
CI-unixish-docker.yml: updated latest ubuntu to 23.10 (#5560) 2023-10-27 14:50:28 +02:00
chrchr-github 6bc164e0d0
Fix #12122 FP knownConditionTrueFalse with type traits (#5595) 2023-10-26 23:33:35 +02:00
Swasti Shrivastava 689187d82a
Fix #12020: misra-test.c: wrong syntax in some test cases (#5597) 2023-10-26 18:37:44 +02:00
Oliver Stöneberg fdb3de708e
fixed #12042 - deprecated building with Qt5 / build with Qt6 in CI / updated latest Qt in CI to 6.5.3 (#4957)
Qt 5.15 will be EOL on May 26 so we should start switching away from it.
We already have issues with many of the previous versions and qmake on
legacy distros so we should cut that off.

I will add a Qt6 release build for Windows in another PR so it can be
tested. We should switch to it as the delivered build after the next
release and stop using Qt5 altogether in the CI in the release
afterwards (that would get rid of several build steps). We could leave
it so you could still try to build it but no longer support it so it is
up to the user to get it to work before removing it completely later on.
2023-10-26 14:55:59 +02:00
Oliver Stöneberg 5bebdf8b97
added simplecpp source to selfcheck (#5432)
We do not have Cppcheck available in the simplecpp CI so we should check
it here.
2023-10-26 10:52:44 +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
Oliver Stöneberg 122e142726
fixed #12113 - made CMake build work with UBSAN and GCC (#5590)
GCC does not support `-fsanitize=nullability`
2023-10-24 21:53:58 +02:00
chrchr-github 89df134fed
Fix #12109 Crash in calculate.h (#5587) 2023-10-24 10:05:32 +02:00
Oliver Stöneberg 309b4d8501
donate-cpu: some small improvements (#5585)
- added timing information to "finished" log message in `scan_package()`
- adjusted some log messages
- avoid unnecessary `git checkout` invocation if non-`main` binary
already exists
2023-10-23 12:53:34 +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
Swasti Shrivastava b58a6b6911
Fix #11474, #9491: FP: misra-c2012-14.2 (#5582) 2023-10-23 08:51:47 +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