* Updated path matching syntax for -i, --file-filter,
suppressions, GUI excludes, and project file excludes.
* Old patterns that use a `*` may need to use `**` instead if
it is intended to match path separators. More details can be
seen in the manual.
* Support for building with Qt 5 will be removed in Cppcheck
2.19.
* The platform 'unix32-unsigned' has been deprecated and will
be removed in Cppcheck 2.19. Please use '--platform=unix32
--funsigned-char' instead.
* The platform 'unix64-unsigned' has been deprecated and will
be removed in Cppcheck 2.19. Please use '--platform=unix64
--funsigned-char' instead.
* Updated Qt to 6.9.1 (official Windows release only).
* added CMake target `run-clang-tidy-csa` to run Clang Static
Analyzer
* added CMake option `ENABLE_CSA_ALPHA` to enable the Clang
Static Analyzer alpha checkers
* Updated TinyXML-2 to v11.0.0
* The minimum supported Python version has been bumped to 3.7.
* CMake will now unconditionally use Boost.Containers if
available. If CMake option `USE_BOOST` is specified it will
now bail out when it is not found.
* Fix checking a project that contains several project file
entries for the same file.
* Fixed --file-filter matching of looked up files in provided
paths.
* Split up cstyleCast checker; dangerous casts produce
portability/warning reports, safe casts produce style
OBS-URL: https://build.opensuse.org/package/show/devel:tools/cppcheck?expand=0&rev=152
* New checks:
- staticFunction: detect functions that should have internal
linkage since they are not used outside of their translation
unit (C code only).
- Check null pointer return from memory/resource allocation
functions (nullPointerOutOfMemory,
nullPointerArithmeticOutOfMemory, nullPointerOutOfResources,
ctunullpointerOutOfMemory,
ctunullpointerOutOfResources).
* Changed interface:
- Added `reduced` check level. It can be activated with
`--check-level=reduced`. You get faster analysis
but some fewer results. The motivation is to be able to make
analysis time "acceptable" for direct usage.
- Added `--report-type` option. Enables printing of guidelines
and classifications for several coding
standards in place of the regular error identifiers and
severities.
* Other:
- Removed deperecated support for builds via qmake.
- Using a handwritten rule texts file for MISRA C addon
violates license and copyright terms. See the
manual for instructions how to download a official rule
texts file from MISRA.
- switch to qt6
OBS-URL: https://build.opensuse.org/package/show/devel:tools/cppcheck?expand=0&rev=146
Improved checking:
* constVariable; checking multidimensional arrays
* constVariablePointer; nested array access
* deallocuse
Changed interface:
* SARIF output. Use --output-format=sarif to activate this.
* Add option --output-format=. Allowed formats are sarif and
xml.
Deprecations:
* The previously deprecated support for Python 2.7 has been
removed. Please use Python 3 instead.
* The maximum value for --max-ctu-depth is currently capped
at 10. This limitation will be removed in a future release.
Other:
* "missingInclude" is no longer implicitly enabled with
"information" - you need to enable it explicitly now.
* Fixed checkers report when --addon=misra.py or
--addon=misra.json is used.
OBS-URL: https://build.opensuse.org/package/show/devel:tools/cppcheck?expand=0&rev=140
- update to 2.15.0
* New check suspiciousFloatingPointCast flags unnecessary floating
point casts that cause loss of precision
* Added command-line option --cpp-header-probe (and
--no-cpp-header-probe) to probe headers and extension-less
files for Emacs marker
* Add support for 'CLICOLOR_FORCE'/'NO_COLOR' environment
variables to force/disable ANSI color output for diagnostics.
* Add "remark comments" that can be used to generate reports with
justifications for warnings
* The whole program analysis is now being executed when
"--project" is being used.
OBS-URL: https://build.opensuse.org/request/show/1198146
OBS-URL: https://build.opensuse.org/package/show/devel:tools/cppcheck?expand=0&rev=138
- update to 2.13.1:
* Show premium autosar/misra/cert style issues even if --enable
is not used
* Better validation of --premium options
* unsafe handling of unconditional #error
* unsafe suppressions of critical errors
* missing "misra-config" warning, calling unknown function in
condition
* If --premium=safety is used then go to "safety mode". Do not
override this in cppcheck.cfg
OBS-URL: https://build.opensuse.org/request/show/1140512
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/cppcheck?expand=0&rev=38
* Show premium autosar/misra/cert style issues even if --enable
is not used
* Better validation of --premium options
* unsafe handling of unconditional #error
* unsafe suppressions of critical errors
* missing "misra-config" warning, calling unknown function in
condition
* If --premium=safety is used then go to "safety mode". Do not
override this in cppcheck.cfg
OBS-URL: https://build.opensuse.org/package/show/devel:tools/cppcheck?expand=0&rev=124
- update to 2.13.0
* newCheck passedByValueCallback for functions which take a
parameter by value but are used as callbacks
* newCheck returnImplicitInt for C functions without return type
* newCheck iterateByValue for iterating by value in a range-based
for loop when a const reference could be used
- Drop patches werror-return-type.patch, eb076d87.patch, and
CVE-2023-39070.patch which are part of upstream or fixed in a
similar way.
OBS-URL: https://build.opensuse.org/request/show/1134967
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/cppcheck?expand=0&rev=37
- update to 2.13.0
* newCheck passedByValueCallback for functions which take a
parameter by value but are used as callbacks
* newCheck returnImplicitInt for C functions without return type
* newCheck iterateByValue for iterating by value in a range-based
for loop when a const reference could be used
- Drop patches werror-return-type.patch, eb076d87.patch, and
CVE-2023-39070.patch which are part of upstream or fixed in a
similar way.
OBS-URL: https://build.opensuse.org/request/show/1134958
OBS-URL: https://build.opensuse.org/package/show/devel:tools/cppcheck?expand=0&rev=122
- update to 2.12.1:
* Support importing projects with project-name
- update to 2.12.0:
* uselessOverride finds overriding functions that either
duplicate code from or delegate back to the base class
implementation
* knownPointerToBool finds pointer to bool conversions that are
always true or false
* truncLongCastAssignment and truncLongCastReturn check
additional types, including float/double/long double
* duplInheritedMember also reports duplicated member functions
* constParameter*/constVariable* checks find more instances of
pointers/references that can be const, e.g. when calling
library functions
* Write how many checkers was activated after a run
* Added --checkers-report that can be used to generate a report
in a file that shows what checkers was activated and disabled
* The qmake build system has been deprecated and will be
removed in a future version.
* Command-line option '--template
- update to 2.11:
* pop_back on empty container is UB
* Improve useStlAlgorithm check to handle many more conditions
in the loop for any_of, all_of and none_of algorithms
* ValueFlow can evaluate the return value of functions even
when conditionals are used
* ValueFlow will now forward the container sizes being returned
from a function
* ValueFlow can infer possible values from possible symbolic
OBS-URL: https://build.opensuse.org/request/show/1114263
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/cppcheck?expand=0&rev=34
* uselessOverride finds overriding functions that either
duplicate code from or delegate back to the base class
implementation
* knownPointerToBool finds pointer to bool conversions that are
always true or false
* truncLongCastAssignment and truncLongCastReturn check
additional types, including float/double/long double
* duplInheritedMember also reports duplicated member functions
* constParameter*/constVariable* checks find more instances of
pointers/references that can be const, e.g. when calling
library functions
* Write how many checkers was activated after a run
* Added --checkers-report that can be used to generate a report
in a file that shows what checkers was activated and disabled
* The qmake build system has been deprecated and will be
removed in a future version.
* Command-line option '--template
- update to 2.11:
* pop_back on empty container is UB
* Improve useStlAlgorithm check to handle many more conditions
in the loop for any_of, all_of and none_of algorithms
* ValueFlow can evaluate the return value of functions even
when conditionals are used
* ValueFlow will now forward the container sizes being returned
from a function
* ValueFlow can infer possible values from possible symbolic
values
* Improve valueflow after pushing to container
* The new option --check-level= has been added that controls
OBS-URL: https://build.opensuse.org/package/show/devel:tools/cppcheck?expand=0&rev=113