Cppcheck-2.9
Analysis
- restored check for negative allocation (new[]) and negative VLA sizes from cppcheck 1.87 (LCppC backport)
- replaced hardcoded check for pipe() buffer size by library configuration option (LCppC backport)
- on Windows the callstack is now being written to the output specific via "--exception-handling"
- make it possible to disable the various exception handling parts via the CMake options "NO_UNIX_SIGNAL_HANDLING", "NO_UNIX_BACKTRACE_SUPPORT" and "NO_WINDOWS_SEH"
- detect more redundant calls of std::string::c_str(), std::string::substr(), and unnecessary copies of containers
- Add a
match
function to addon similiar toToken::Match
used internally by cppcheck:|
for either-or tokens(iestruct|class
to match eitherstruct
orclass
)!!
to negate a token- It supports the
%any%
,%assign%
,%comp%
,%name%
,%op%
,%or%
,%oror%
, and%var%
keywords - It supports
(*)
,{*}
,[*]
, and<*>
to match links @
can be added to bind the token to a name**
can be used to match until a token
- Add math functions which can be used in library function definition. This enables evaluation of more math functions in ValueFlow
- Further improve lifetime analysis with
this
pointers - Propagate condition values from outer function calls
- Add debug intrinsics
debug_valueflow
anddebug_valuetype
to show more detail including source backtraces
Cppcheck Premium
GUI: Additional options to configure the Autosar, Cert C and Misra C++ coding standards
Command line: A --premium option that is used to provide premium options