The NetBSD Project

CVS log for pkgsrc/devel/cppcheck/patches/Attic/patch-Makefile

[BACK] Up to [] / pkgsrc / devel / cppcheck / patches

Request diff between arbitrary revisions

Default branch: MAIN

Revision 1.3, Wed Jan 14 21:48:10 2015 UTC (7 years, 10 months ago) by wiz
Branch: MAIN
Changes since 1.2: +1 -1 lines

Update to 1.68 from Jonathan Buschmann in PR 49570.

== Cppcheck-1.68 ==

General changes:

New checks:
- Multifile checking for buffer overruns and uninitialized variables

- Libraries are now able to contain platform specific types
- Improved handling of function overloads
- Improved handling of integer literal suffixes
- Improved stability of template parsing
- Improved accuracy of ValueFlow analysis
- Improved checking of pointer overflow
- Support noexcept(false)
- Support attribute((noreturn))
- A bunch of additions to several Libraries, especially posix.cfg and qt.cfg

Additionally, lots of false positives and bugs have been fixed and several existing checks have been improved.

== Cppcheck-1.67 ==

General changes:
- Library files have now a 'format' attribute. Format version 1 is assumed by default
- Cppcheck does no longer abort checking if unhandled characters (Non-ASCII) are found

New checks:
- Check for unused return values
- Detect shift by too many bits, signed integer overflow and dangerous sign conversion
- Recommend usage of expm1(), log1p(), erfc()
- Division by sizeof() as parameter to memset/memcpy/memmove/etc. as they expect a size in bytes
- Several new va_arg related checks:
-- Wrong parameter passed to va_start()
-- Reference passed to va_start()
-- Missing va_end()
-- Using va_list before it is opened
-- Subsequent calls to va_start/va_copy()
- Initialization by itself in initializer list
- Dead pointer usage when pointer alias local variable that has gone out of scope

- Support uniform initialization syntax (C++11)
- Much improvements to value flow analysis
- Improved AST creation (support placement new, C++-style casts, templates, operator new[], ...)
- Improved lambda support
- Support GCC extension attriute((used)) and MSVC extension __declspec(property)
- Better support for static member variables, inherited variables and namespaces
- Improved typedef support where multiple variables are declared at once
- Avoid checking code multiple times by calculating a checksum. Duplicate preprocessor configurations are eliminated by this.
- Support C++03/C 'auto' keyword
- HTML report: display 'verbose' message using clickable expandable divs

Revision 1.2 / (download) - annotate - [selected], Sun Aug 10 08:21:46 2014 UTC (8 years, 3 months ago) by wiz
Branch: MAIN
CVS Tags: pkgsrc-2014Q4-base, pkgsrc-2014Q4, pkgsrc-2014Q3-base, pkgsrc-2014Q3
Changes since 1.1: +2 -1 lines
Diff to previous 1.1 (colored)

Add upstream bug report URL.

Revision 1.1 / (download) - annotate - [select for diffs], Thu Aug 7 11:35:11 2014 UTC (8 years, 3 months ago) by wiz
Branch: MAIN
Diff to selected 1.2 (colored)

Update to 1.66:

Cppcheck-1.66 has been released.

New checks:
- Compare pointer with '\0'
- Assigning boolean expression to floating point variables

- Much improved AST
- Much improved ValueFlow analysis
- ValueFlow and AST now used by much more checks, improving checking
accuracy and performance
- Checking for self assignment now supports more complex expressions
- Returning references to literals or references to calculation
results is detected
- Enhanced support for commutative operators in duplicate expression
- Improved template/enum parsing
- Much improved htmlreport
- Definition of POD types in .cfg files
- Definition of minsize for buffer arguments in .cfg files for
buffer overflow checking
- Fixed handling of #error: Do not report them if -f and -D are
used together
- New .cfg file for AVR platform
- Generate xml dump of AST/ValueFlow/SymbolDatabase/TokenList if
--dump is given
- Improved performance in several cases
- Windows Builds: Now compiled with VS2013, linked against Qt 5.3.1

- Platform settings are being saved now
- Improved handling of (invalid) .cfg files
- Use Win32W as default platform on Windows

Additionally, a large number of false positives and crashs has been

Cppcheck-1.65 has been released.

General changes:

    Cppcheck requires a C++11 compiler supporting the common subset
    of features supported by GCC 4.4, Visual Studio 2010 and Clang
    Problems with packaging and windows installer introduced in
    last release were fixed


    Much improved support of complex combinations of function
    pointers, arrays and references
    Better handling of syntax errors
    Better detection of stack variables passed to free()
    Much improved value flow analysis
    More robust error detection in several checks due to usage of
    Better handling of unknown Macros in function declarations
    Allocation/Deallocation functions can be extend across different
    .cfg files
    Better handling of some C++11 language features like enum class,
    in-class member initializers
    Detect calling (std::)abs() with bool argument

New checks:

    Check for noexcept and __attribute__((nothrow)) correctness
    Check for unhandled exceptions when exception specifiers are
    Access to empty STL containers
    Repositioning operation on a file opened in append mode
    Find nested redundant if-statements (was experimental before)

Additionally, a large number of false positives and crashs has been

cppcheck-1.64 has been released.

Value Flow

A new value flow analysis has been added. It is generic so the same
analysis can be reused by various checkers - previously many checkers
have had their own value flow and control flow analysis. The new
value flow analysis performs context sensitive cross-function
analysis. All checkers that uses this will automatically have
cross-function context sensitive value flow analysis. The new
analysis is gradually introduced in the checkers - the old analysis
in a checker is kept until it is redundant.

The new value flow analysis is so far used to detect:

    division by zero
    null pointer dereference
    array index out of bounds
    invalid function argument

Other Improvements

    Improved configurations for gtk, posix, sdl, std, windows
    Warn when using negative allocation size
    Check 2nd parameter for memset

Cppcheck-1.63 has been released.

The .cfg files are needed by cppcheck. Either put them in a subfolder
where the binary is. Otherwise compile cppcheck with CFGDIR to
specify an
arbitrary path where you put the .cfg files.

New check:
* Using pointer addition result in condition 'if (p+1)' - either
a dereference
is forgotten or it depends on UB (the result is only 0 if there is
which is UB).

Improved checks:
* Leaks - ignoring return value of allocation function
* Uninitialized vars - check how uninitialized malloc data is used
* Rewritten 'calculation in sizeof' using syntax tree
* Rewritten 'clarify calculation' using syntax tree
* Rewritten 'logical disjunction' using syntax tree
* Rewritten 'duplicate expressions' using syntax tree
* Rewritten 'invalidFunctionUsage' that uses the *.cfg files

* Library files can be enabled in the project dialog
* Suppressions can be specified in the project dialog

* Cppcheck is now continuosly scanning all the source code in the
debian archive.
* Fixes of templates handling, hangs, crashes and false positives


New checks
* Divide with variable and then compare to see if variable is 0
* Duplicated inherited member

Improved checking:
* handling of >> in templates
* format string checking
* comparing bool result with integer
* standard isgreater()/islower() functions
* standard math functions
* reassigning struct members

xml-version 2 is now handled

New checks:
* arithmetical usage of inf/nan result
* suspicious usage of comma in return statement
* sizeof(void)

Improved checking:
* better simplification of strlen
* improved handling of array member variables 'x[y].z..'
* Specific improvements in checks for buffer overruns, format
strings, uninitialized variables

Command line:
* Using both --max-configs and -D. Normally when -D is used, Cppcheck
will only check the given configuration. By using --max-configs
also, you can tell Cppcheck to check more configurations.
* Added --library and --check-library.

Graphical user interface:
* Somewhat improved response when stopping checking

Cppcheck core:
* Extending checking with configuration files. Cppcheck has internal
knowledge for standard C/C++ functions. Knowledge for libraries
and environments can be specified using configuration files.
* Rules: added <tokenlist> that allow you to check 'raw' code and
'normal' code. In the 'raw' code, the comments and #include are
already taken care of, but the #define statements can be analysed.

This form allows you to request diff's between any two revisions of a file. You may select a symbolic revision name using the selection box or you may type in a numeric name using the type-in text box.

CVSweb <>