./devel/cppcheck, Tool for static C/C++ code analysis

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]


Branch: CURRENT, Version: 1.76.1nb4, Package name: cppcheck-1.76.1nb4, Maintainer: reed

cppcheck is a tool for static C/C++ code analysis intended to
complement the checking of the compiler. It checks for memory
leaks, mismatching allocation-deallocation, buffer overrun, unused
functions, coding style, and much more.


Required to run:
[devel/pcre] [textproc/py-pygments] [lang/python27] [textproc/tinyxml2]

Required to build:
[textproc/docbook-xsl] [textproc/libxslt] [pkgtools/cwrappers]

Master sites:

SHA1: 7202ddea9fd4943975afb0a81a95a909e1e8ceda
RMD160: 608c281bfd039522de920cb08fa8e1b64054471f
Filesize: 1138.957 KB

Version history: (Expand)


CVS history: (Expand)


   2017-02-12 07:26:18 by Ryo ONODERA | Files touched by this commit (1451)
Log message:
Recursive revbump from fonts/harfbuzz
   2017-02-06 14:56:14 by Thomas Klausner | Files touched by this commit (1452)
Log message:
Recursive bump for harfbuzz's new graphite2 dependency.
   2017-01-21 21:06:55 by Ryo ONODERA | Files touched by this commit (157)
Log message:
Recursive revbump from audio/pulseaudio-10.0
   2016-12-04 06:17:46 by Ryo ONODERA | Files touched by this commit (667)
Log message:
Recursive revbump from textproc/icu 58.1
   2016-10-25 03:24:02 by Kamil Rytarowski | Files touched by this commit (3) | Package updated
Log message:
Update cppcheck from 1.75 to 1.76.1

Upstream changelog
==================
Cppcheck-1.76.1 has been released.

It has a bugfix to avoid hang.

Cppcheck-1.76 has been released.

General changes:
- Completed CWE mapping
- Support opening project files of external build systems, including CMake and \ 
Visual Studio (CLI: --project)
- XML format version 1 is deprecated and will be removed in 1.81

Removed checks:

New checks:

Checking improvements:
- Improved checking for conditions that are always true/false
- Improved format string checking: Support more functions, support %h and %hh
- Improved std.cfg, windows.cfg and qt.cfg; added wxwidgets.cfg
- Improved ValueFlow analysis
- Improved SymbolDatabase accuracy
- Improved Preprocessor (simplecpp)
- Support base class methods in Library

GUI:
- Support opening project files from GUI
- Added .desktop file

Additionally, lots of false positives and bugs have been fixed and several \ 
existing checks have been improved.
   2016-09-19 13:05:53 by Thomas Klausner | Files touched by this commit (4) | Package updated
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.
   2016-03-05 12:29:49 by Jonathan Perkin | Files touched by this commit (1813) | Package updated
Log message:
Bump PKGREVISION for security/openssl ABI bump.
   2015-11-25 13:49:47 by Jonathan Perkin | Files touched by this commit (7)
Log message:
Remove mk/find-prefix.mk usage from the devel category.

The find-prefix infrastructure was required in a pkgviews world where
packages installed from pkgsrc could have different installation
prefixes, and this was a way for a dependency prefix to be determined.

Now that pkgviews has been removed there is no longer any need for the
overhead of this infrastructure.  Instead we use BUILDLINK_PREFIX.pkg
for dependencies pulled in via buildlink, or LOCALBASE/PREFIX where the
dependency is coming from pkgsrc.

Provides a reasonable performance win due to the reduction of `pkg_info
-qp` calls, some of which were redundant anyway as they were duplicating
the same information provided by BUILDLINK_PREFIX.pkg.