We are happy to announce the release of Cppcheck Open-Source 2.9!
Cppcheck Open-Source 2.9 reintroduces checks for negative allocations and VLA sizes from version 1.87, allows configuration for pipe() buffer size, and enhances Windows exception handling output. It introduces options to disable specific exception handling features and improves detection of redundant std::string and container operations. A new match function for addons enhances pattern matching capabilities. The release also extends math function evaluation in ValueFlow, improves lifetime analysis, propagates condition values, and adds debug intrinsics for detailed analysis.
Release notes:
match function to addon similiar to Token::Match used internally by cppcheck:
| for either-or tokens(ie struct|class to match either struct or class)!! to negate a token%any%, %assign%, %comp%, %name%, %op%, %or%, %oror%, and %var% keywords(*), {*}, [*], and <*> to match links@ can be added to bind the token to a name** can be used to match until a tokenthis pointersdebug_valueflow and debug_valuetype to show more detail including source backtraces