Path to this page:
Subject: CVS commit: pkgsrc/devel/cppcheck
From: Thomas Klausner
Date: 2016-09-19 13:05:53
Message id: 20160919110553.C9628FBD1@cvs.NetBSD.org
Log Message:
Updated cppcheck to 1.75.
pkgsrc change: switch from qt4 to qt5 for GUI option.
Cppcheck-1.75 has been released
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.
Cppcheck-1.74 has been released
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.
Cppcheck-1.73 has been released
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.
Cppcheck-1.72 has been released.
General changes:
- Added platform files to customize characteristics of different target platforms
- Added setting to configure the default sign of integral variables and bit size \
of type 'char'
- Added option -E (only preprocess the code)
- Option --dump now outputs data for each configurations, not only the last one
- Several qmake project files have been removed
Removed checks:
- Check for unnecessary forward declaration has been removed
New checks:
- Warn about shifting negative values
- Detect statements with undefined execution order (pre-C++11 code)
- Added a generic check to discourage usage of specific functions, replacing \
CheckNonReentrantFunctions and CheckObsoleteFunctions
Checking improvements:
- Several improvmenets to ValueFlow analysis
- Improved ValueType handling, refactored several checks to make use of it
- Improved memory leak checking
- Improved Container specification in Library files, rewrote some checks based on it
- Improved handling of character literals
- Improved checking for non-interlocked accesses
- Properly support <cstdint> types in namespace std
- Added some validation mechamisms to avoid crashs
GUI:
- Improved Library editor
- Support "Enter" key in results tree
- Properly detect editors on 64-Bit Windows
- Added Japanese translation
- Allow opening project file without extra parameter from command line
Additionally, lots of false positives and bugs have been fixed and several \
existing checks have been improved.
Cppcheck-1.71 has been released
General changes:
- The deprecated options --suppressions and --exitcode-suppressions have been removed
- .hh and .hxx files are now treated as C++ files
- Improved documentation (readmes and manuals)
- Internal errors (for example syntax error) are now suppressable
Removed checks:
- Check for unnecessary qualification has been removed
Checking improvements:
- Support range-based for-loops (C++11)
- Better support for C++11 style initialization
- Better support for lambdas (C++11)
- Support digit separators (C++14)
- Added determination of the type of an expression (ValueType)
- Support case ranges (GCC extension)
- Improved AST generation and added validation
- Improved value flow analysis
- Improved checking for unitialized arrays
- Improved VarId assignment for member variables
- Rewrote checking of char variables
- Known variable simplification has been removed partially in favour of value \
flow analysis
GUI:
- Added library editor
- Improved display of inconclusive messages
- Added option to enforce parsing as C or C++ code
- Show file that included a header in details view
- Added "Recheck all files" button, "Recheck files " renamed \
to "Rechecked modified files"
Additionally, lots of false positives and bugs have been fixed and several \
existing checks have been improved.
Cppcheck-1.70 has been released
General changes:
- New version of .cfg file format, adding support for namespaces and declaring \
several functions at once
- Support building x64 installer for Windows; Both x64 and x86 builds are now \
provided
- Warn about deprecated options --suppressions and --exitcode-suppressions. They \
will be removed in future
- Added debugging option --debug-normal, which prints out debug output before \
second stage simplification
New checks:
- Warn about modifying string literals
- Detect declaration of variable length arrays with negative size
- Warn about implicit type conversion from int to long
- Warn about redundant code in conditions like (y || (!y && z))
- Detect conditions with known result
- Race condition: non-interlocked access after InterlockedDecrement()
- Detect unused 'goto' labels
Removed checks:
- Do no longer warn about a bug in scanf implementation of ancient glibc versions
- Multifile analysis (added in 1.69) has been removed because it did not work
- Removed ExecutionPath checker, which has been superseeded by ValueFlow analysis
Improvements:
- Support hexadecimal floating point numbers (C99)
- Support [[deprecated]] (C++14)
- Improved handling of sizeof()
- Improved handling of reserved keywords
- Better handling of C declaration specifiers; support complex/_Complex (C99)
- Better handling of ternary operator in ValueFlow analysis
- Lots of improvements to .cfg files, especially std.cfg, which now supports \
namespace std
- Improved performance and memory usage of Preprocessor
- Improved performance of matchcompiler
- Reduced Disk IO when ignoring paths
- Removed several obsolete simplifications
- Added python addons: naming.py, threadsafety.py and cert.py
GUI:
- Support printing
- Added item "Open containing folder" to context menu
Additionally, lots of false positives and bugs have been fixed and several \
existing checks have been improved.
Files: