Updated: cppcheck-1.67-1

David Stacey drstacey@tiscali.co.uk
Mon Oct 20 07:24:00 GMT 2014

Version 1.67-1 of cppcheck has been updated.




Changes from 1.66 to 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
- Better support for static member variables, inherited variables and
- 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

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


Cppcheck is a static analysis tool for C/C++ code. Unlike C/C++
compilers and many other analysis tools it does not detect syntax
errors in the code. Cppcheck primarily detects the types of bugs that
the compilers normally do not detect. The goal is to detect only real
errors in the code (i.e. have zero false positives).





If you have questions or comments, please send them to the
cygwin mailing list at: cygwin (at) cygwin (dot) com .


If you want to unsubscribe from the cygwin-announce mailing list,
look at the "List-Unsubscribe: " tag in the email header of this
message. Send email to the address specified there. It will be in
the format:


If you need more information on unsubscribing, start reading here:


Please read *all* of the information on unsubscribing that
is available starting at this URL.

More information about the Cygwin-announce mailing list