forked from pool/cppcheck
Accepting request 577725 from home:alois:branches:devel:tools
- Update to version 1.82 Bug fixes: * Better handling of namespaces * Fixed false positives * Fixed parsing of compile databases * Fixed parsing of visual studio projects Enhancements * New check; Detect mistakes when there are multiple strcmp() in condition Example: if (strcmp(password,"A")==0 || strcmp(password,"B")==0 || strcmp(password,"C")) There is a missing '==0', and therefore this condition is always true except when password is "C". * New check; pointer calculation result can't be NULL unless there is overflow Example: someType **list_p = ...; if ((list_p + 1) == NULL) The result for '(list_p + 1)' can't be NULL unless there is overflow (UB). * New check; public interface of classes should be safe - detect possible division by zero Example: class Fred { public: void setValue(int mul, int div) { value = mul / div; // <- unsafe } ... This check does not consider how Fred::setValue() is really called. If you agree that the public interface of classes should always be safe; it should be allowed to call all public methods with arbitrary arguments, then this checker will be useful. * Fixed a few false negatives * More information in the cfg files version 1.81 CPPCHECK: * New warning: Check if condition after an early return is overlapping and therefore always false. * Improved knowledge about C/C++ standard, windows, posix, wxwidgets, gnu * Better handling of Visual Studio projects GUI: * Compile: Qt5 is now needed to build the GUI * Compile: New qmake flag HAVE_QCHART * Project: You can now run cppcheck-addons * Project: We have integrated clang-tidy * Results view: Reload last results (if cppcheck build dir is used) when GUI is started * Results view: Tag the warnings with custom keywords (bug/todo/not important/etc..) * Results view: Shows when warning first appeared (since date) * Results view: Suppress warnings through right-click menu * Statistics: Added charts (shown if Qt charts module is enabled during build) version 1.80 Checking improvements: * Added platform for Atmel AVR 8 bit microcontrollers (avr8) * Better 'callstacks' in cppcheck messages * Improved gnu.cfg, posix.cfg, wxwidgets.cfg and std.cfg, added motif.cfg * Various improvements to AST, ValueFlow analysis and template parsing Command line changes: * Deprecated command line argument *-append has been removed * New command line argument *-plist-output to create .plist files * New command line argument *-output-file to print output to file directly * Check OpenCL files (.cl) GUI: * Support export of statistics to PDF * Several small usability improvements * Additionally, lots of false positives and bugs have been fixed and several existing checks have been improved. version 1.79 General changes: * C++ code in C files is rejected now (use *-language=c++ to enforce checking the code as C++) * Write function access type to XML dump Checking improvements: * Improved configuration extraction in preprocessor * Improved accuracy of AST * Improved template parsing * Improved support for (STL) containers in SymbolDatabase * Improved support for C++11's 'auto' type * Experimental support for uninitialized variables in ValueFlow analysis * Added qt.cfg and sfml.cfg, improved several existing .cfg files GUI: * Use CFGDIR macro * Additionally, lots of false positives and bugs have been fixed and several existing checks have been improved. version 1.78 General changes: * Reduced memory usage by up to 10% by reducing size of token list New checks: * Mismatching argument names between function declaration and definition * Detect classes which have a copy constructor but no copy operator and vice versa Checking improvements: * Improved matching of overloaded functions * Improved ValueType analysis, especially related to allocations with "new" and C++11's "auto" * Improved support for C++11 brace initialization * Improved ValueFlow analysis * Improved template parsing * Improved detection of memory leaks * Improved nullpointer checking when nullptr and NULL are used * Detect array out of bounds across compilation units * Extended windows.cfg, posix.cfg and std.cfg * Additionally, lots of false positives and bugs have been fixed and several existing checks have been improved. OBS-URL: https://build.opensuse.org/request/show/577725 OBS-URL: https://build.opensuse.org/package/show/devel:tools/cppcheck?expand=0&rev=51
This commit is contained in:
parent
6a5a5d2aa5
commit
74717428cf
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:1980ffe5c9c24bb6dea24514d42be3aa49d6ba7cc26c448b3543611fe8ba2619
|
||||
size 1188453
|
3
cppcheck-1.82.tar.bz2
Normal file
3
cppcheck-1.82.tar.bz2
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:e02b29d18eaa38bed19e80dcf59b06d450d5e20c30732d6bad64af9ea58d694e
|
||||
size 1548635
|
128
cppcheck.changes
128
cppcheck.changes
@ -1,3 +1,131 @@
|
||||
-------------------------------------------------------------------
|
||||
Sun Feb 18 10:40:07 UTC 2018 - aloisio@gmx.com
|
||||
|
||||
- Update to version 1.82
|
||||
Bug fixes:
|
||||
* Better handling of namespaces
|
||||
* Fixed false positives
|
||||
* Fixed parsing of compile databases
|
||||
* Fixed parsing of visual studio projects
|
||||
Enhancements
|
||||
* New check; Detect mistakes when there are multiple strcmp() in
|
||||
condition
|
||||
Example:
|
||||
if (strcmp(password,"A")==0 || strcmp(password,"B")==0 || strcmp(password,"C"))
|
||||
There is a missing '==0', and therefore this condition is
|
||||
always true except when password is "C".
|
||||
* New check; pointer calculation result can't be NULL unless
|
||||
there is overflow
|
||||
Example:
|
||||
someType **list_p = ...;
|
||||
if ((list_p + 1) == NULL)
|
||||
The result for '(list_p + 1)' can't be NULL unless there is
|
||||
overflow (UB).
|
||||
* New check; public interface of classes should be safe - detect
|
||||
possible division by zero
|
||||
Example:
|
||||
class Fred {
|
||||
public:
|
||||
void setValue(int mul, int div) {
|
||||
value = mul / div; // <- unsafe
|
||||
}
|
||||
...
|
||||
This check does not consider how Fred::setValue() is really
|
||||
called.
|
||||
If you agree that the public interface of classes should
|
||||
always be safe; it should be allowed to call all public
|
||||
methods with arbitrary arguments, then this checker will be
|
||||
useful.
|
||||
* Fixed a few false negatives
|
||||
* More information in the cfg files
|
||||
|
||||
version 1.81
|
||||
CPPCHECK:
|
||||
* New warning: Check if condition after an early return is
|
||||
overlapping and therefore always false.
|
||||
* Improved knowledge about C/C++ standard, windows, posix,
|
||||
wxwidgets, gnu
|
||||
* Better handling of Visual Studio projects
|
||||
GUI:
|
||||
* Compile: Qt5 is now needed to build the GUI
|
||||
* Compile: New qmake flag HAVE_QCHART
|
||||
* Project: You can now run cppcheck-addons
|
||||
* Project: We have integrated clang-tidy
|
||||
* Results view: Reload last results (if cppcheck build dir is
|
||||
used) when GUI is started
|
||||
* Results view: Tag the warnings with custom keywords
|
||||
(bug/todo/not important/etc..)
|
||||
* Results view: Shows when warning first appeared (since date)
|
||||
* Results view: Suppress warnings through right-click menu
|
||||
* Statistics: Added charts (shown if Qt charts module is enabled
|
||||
during build)
|
||||
|
||||
version 1.80
|
||||
Checking improvements:
|
||||
* Added platform for Atmel AVR 8 bit microcontrollers (avr8)
|
||||
* Better 'callstacks' in cppcheck messages
|
||||
* Improved gnu.cfg, posix.cfg, wxwidgets.cfg and std.cfg, added
|
||||
motif.cfg
|
||||
* Various improvements to AST, ValueFlow analysis and template
|
||||
parsing
|
||||
Command line changes:
|
||||
* Deprecated command line argument *-append has been removed
|
||||
* New command line argument *-plist-output to create .plist
|
||||
files
|
||||
* New command line argument *-output-file to print output to
|
||||
file directly
|
||||
* Check OpenCL files (.cl)
|
||||
GUI:
|
||||
* Support export of statistics to PDF
|
||||
* Several small usability improvements
|
||||
|
||||
* Additionally, lots of false positives and bugs have been fixed
|
||||
and several existing checks have been improved.
|
||||
|
||||
version 1.79
|
||||
General changes:
|
||||
* C++ code in C files is rejected now (use *-language=c++ to
|
||||
enforce checking the code as C++)
|
||||
* Write function access type to XML dump
|
||||
Checking improvements:
|
||||
* Improved configuration extraction in preprocessor
|
||||
* Improved accuracy of AST
|
||||
* Improved template parsing
|
||||
* Improved support for (STL) containers in SymbolDatabase
|
||||
* Improved support for C++11's 'auto' type
|
||||
* Experimental support for uninitialized variables in ValueFlow
|
||||
analysis
|
||||
* Added qt.cfg and sfml.cfg, improved several existing .cfg files
|
||||
GUI:
|
||||
* Use CFGDIR macro
|
||||
|
||||
* Additionally, lots of false positives and bugs have been fixed
|
||||
and several existing checks have been improved.
|
||||
|
||||
version 1.78
|
||||
General changes:
|
||||
* Reduced memory usage by up to 10% by reducing size of token
|
||||
list
|
||||
New checks:
|
||||
* Mismatching argument names between function declaration and
|
||||
definition
|
||||
* Detect classes which have a copy constructor but no copy
|
||||
operator and vice versa
|
||||
Checking improvements:
|
||||
* Improved matching of overloaded functions
|
||||
* Improved ValueType analysis, especially related to allocations
|
||||
with "new" and C++11's "auto"
|
||||
* Improved support for C++11 brace initialization
|
||||
* Improved ValueFlow analysis
|
||||
* Improved template parsing
|
||||
* Improved detection of memory leaks
|
||||
* Improved nullpointer checking when nullptr and NULL are used
|
||||
* Detect array out of bounds across compilation units
|
||||
* Extended windows.cfg, posix.cfg and std.cfg
|
||||
|
||||
* Additionally, lots of false positives and bugs have been fixed
|
||||
and several existing checks have been improved.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Mar 21 10:28:21 UTC 2017 - mpluskal@suse.com
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
#
|
||||
# spec file for package cppcheck
|
||||
#
|
||||
# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
|
||||
# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
# remain the property of their copyright owners, unless otherwise agreed
|
||||
@ -17,13 +17,13 @@
|
||||
|
||||
|
||||
Name: cppcheck
|
||||
Version: 1.77
|
||||
Version: 1.82
|
||||
Release: 0
|
||||
Summary: A tool for static C/C++ code analysis
|
||||
License: GPL-3.0+
|
||||
Group: Development/Languages/C and C++
|
||||
Url: http://cppcheck.sourceforge.net/
|
||||
Source: http://downloads.sourceforge.net/cppcheck/cppcheck-%{version}.tar.bz2
|
||||
URL: http://cppcheck.sourceforge.net/
|
||||
Source: https://downloads.sourceforge.net/cppcheck/cppcheck-%{version}.tar.bz2
|
||||
BuildRequires: docbook-xsl-stylesheets
|
||||
BuildRequires: gcc-c++
|
||||
BuildRequires: pcre-devel
|
||||
@ -103,15 +103,14 @@ install -d %{buildroot}%{_datadir}/%{name}
|
||||
install -m 0644 cfg/*.cfg %{buildroot}%{_datadir}/%{name}
|
||||
|
||||
%files
|
||||
%defattr(-,root,root)
|
||||
%doc AUTHORS COPYING
|
||||
%doc AUTHORS
|
||||
%license COPYING
|
||||
%{_bindir}/cppcheck
|
||||
%{_bindir}/cppcheck-htmlreport
|
||||
%{_datadir}/%{name}/
|
||||
%{_mandir}/man1/cppcheck.1*
|
||||
|
||||
%files gui
|
||||
%defattr(-,root,root)
|
||||
%{_bindir}/cppcheck-gui
|
||||
|
||||
%changelog
|
||||
|
Loading…
Reference in New Issue
Block a user