General changes:
- Added flag --platform=native, when it is used type sizes and behaviour of
host system are used
- Backward compatibility for Libary files is now working. Future cppcheck
versions will be able to use libraries written for previous versions
- Windows 32 bit builds now set /LARGEADDRESSAWARE, so that they can use up to
4 GiB
New checks:
- Detect bad bitmask checks (usage of | where & should be used)
- Suggest usage of "explicit" for constructors with a single parameter
- Suggest usage of make_shared/make_unique
- Warn about usage of malloc with auto_ptr
- Detect redundant pointer operations like &*ptr
Improvements:
- Support std::array (C++11)
- Detect same expressions in both branches of a ternary operator
- New <container>-tags in libraries to configure STL (and similar) container
types
- Several improvements to ValueFlow analysis (for example support for default
function arguments)
- Improved buffer overrun and memory leak checking
- Removed a bunch of redundant checking code
- Removed several simplifications
- Stronger matching of library functions
- Lots of additions to std.cfg and posix.cfg
- New library for Microsoft SAL (microsoft_sal.cfg)
- Improved C++11 template parsing (">>" as closing brackets, variadic
templates)
- Added statistics to htmlreport
GUI:
- Fixed language selection
Additionally, lots of false positives and bugs have been fixed and several
existing checks have been improved.