Releases: danmar/cppcheck
Releases · danmar/cppcheck
1.75
General changes:
- Replaced internal preprocessor by the brand-new preprocessor 'simplecpp'
- Improved Windows installer: Install a copy of the license instead of asking to accept it
- The Windows x64 binaries are now compiled with profile guided optimization, resulting in a speedup of 11%
- Improved manual, especially the chapter about Libraries
- Improved CWE mapping
- --append is deprecated and will be removed in 1.80
New checks:
- Detect passed by value for non-const variables and print message only if type size justifies optimization
Checking improvements:
- Implemented support for trailing return types (C++11)
- Improved support for digit separators (C++14)
- Improved support for enum types in buffer overflow checking
- Better handling of volatile variables when checking for redundant assignments
- Properly support integer suffixes i64 and ui64
- Support function arguments with default value in Libraries
- Always set file0 attribute of error messages to identify the source file cppcheck was checking
Additionally, lots of false positives and bugs have been fixed and several existing checks have been improved.
1.74
General changes:
- Improved CWE mapping of messages
- Git pre-commit hook checks only added or modified files
Checking improvements:
- Replaced simplification of enums by keeping and parsing them in the SymbolDatabase
- Added support to Library for specifying the parameter used by allocating/deallocating functions
- Improved support for integers defined in Libraries
- Improved accuracy of ValueType analysis
- Improved accuracy of VarID assignment, especially when dealing with structs and unions
- Improved performance of VarID assignment, checking for struct member usage, buffer overrun checking and several simplifications
- Added support for lots functions to windows.cfg and posix.cfg
- Better support for operator overloads
- Detect buffer overflows when %c is used with a width
- Improved checking for sizeof() taken of wrong type
- Support char literals when checking for conditions being always true or false
- Reimplemented check for usage of boolean results used in bitwise operations based on ValueType
- Improved checking for c_str() usage
Additionally, lots of false positives and bugs have been fixed and several existing checks have been improved.
1.73
General changes:
- CWE mapping of messages
- Translated manual to Japanese language
Removed checks:
- Checks for variables hiding enums or typedefs have been removed
New checks:
Checking improvements:
- Improved ValueType a lot, use it in more checks
- Improved VarId support for template constructors, namespaces and references as class members
- Improved libraries, especially gnu.cfg, posix.cfg and windows.cfg
- Improved simplification of enums and templates
- Better distinguishing between possible and known null pointer dereferenciations
- Assume integers to be signed by default
- better support for __cplusplus macro in preprocessor
- Preprocessor directives for addons
- New tools: times-vs.py, reduce.py
GUI:
- Detect Geany and QtCreator
- Make statistics dialog shown when checking is finished optional
Additionally, lots of false positives and bugs have been fixed and several existing checks have been improved.